Posts

how to generate classes from swagger

Generate java classes from swagger API java -jar swagger-codegen-cli-2.2.1.jar generate -i swagger.json -l java -o modelFolder --library feign --api-package "com.company.res.proj.api" --model-package "com.company.res.proj.dto" --group-id "com.company.trip" --artifact-id "trip-swagger-client" --artifact-version "1.0.0" 1. download swagger-codegen-cli-2.2.1.jar from internet 2.Download .JSON from swagger documentation tool 3.run this where swagger-codegen-cli-2.2.1.jar and swagger.json exists BashScript #!/bin/bash curl -s https://repo1.maven.org/maven/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar -o swagger-codegen-cli-2.2.1.jar curl --insecure -s -H "Accept: application/json" https://swaggerhub.com.com/v1/apis/r55439/emp-Create/0.0.1 -o emp-service-definition.json rm -rf emp-client mkdir emp-client java -jar swagger-codegen-cli-2.2.1.jar generate \             ...
  Query to search for table in DB schema ------------------------------------------ SELECT * FROM all_tables where owner = 'TEST_SCHEMA' and TABLE_NAME like ('%MASKING%'); Query to find for table updates or inserts in Table DB ----------------------------------------------------------------------- select table_owner,table_name,inserts,updates,deletes from dba_tab_modifications  where table_name = 'TEST_MASKING';

How to debug SSL handshake errors using java program?

Image
import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; import java.io.InputStream; import java.io.OutputStream; public class SSLDebugClient {     public static void main(String[] args ) {         if ( args . length != 2) {             System. out .println( "Input values: " +SSLDebugClient. class .getName()+ " <host> <port>" );             System. exit (1);         }         try {             SSLSocketFactory sslSocketFactory = (SSLSocketFactory) SSLSocketFactory. getDefault ();             //arg0 for host and   arg1 for port             SSLSocket sslSocket = (SSLSocket) sslSocketFactory .createSocket( args [0], Integer. parseInt ( args [1]));             InputStream inputStream = sslSocket .get...

How to enable more detailed logging for ATG application

  The following documents describe how to enable more detailed thread logging for ATG application especially if weblogic server being used as sessionId display in app server logs are not feasible  1) Improve Thread Names with ThreadNamingPipelineServlet to Aid in Hung Thread Analysis (Doc ID 1486700.1) -  2) ThreadNamingPipelineServle t - https://docs.oracle.com/cd/E55783_02/Platform.11-2/ATGPlatformProgGuide/html/s2201threadnamingpipelineservlet01. html Note: it might affect performance so keep in mind that ThreadNamingPipelineServlet is enabled when its enabled property is true (the default). You may want to disable it in a production environment by setting enabled to false.

How to generate event queue in ATG from eclipse

Image
How to generate event queue in ATG from eclipse ----------------------------------------------------------------------- Step 1: Create listener interface as below import java.util.EventListener; import atg.commerce.order.Order; /**  *  */ public interface UpdateOrderListener extends EventListener { public void updateOrder(Order orderItem,String emailType); } Step2. Configure Run configuration for OOB (atg.service.queue.EventQueueGenerator)EventQueueGenerator class as below Step3. Click on arguments tab in run configuration Add below line and click on "Run". com.cc.common.UpdateOrderListener com.cc.common UpdateOrderQueue <Full qualified class name of listener interface> <package -name where queue classes will be generated> <Queue class name> This will generate queue class only as per below screenshot.You need to implement listenerImpl and all other classes

Fien client

@FeignClient(name = "testClient", url = "${actual.url}" , fallback = ClientFallback.class) public interface testClient { /** * * @return res * * */ @RequestMapping(method = RequestMethod.GET, value ="/content/dl/messages.msgpage.json", consumes = "application/json") String getsByAppName(); /** * * @return res * * */ @RequestMapping(method = RequestMethod.GET, value ="/content/dl/exception.messages.axismsgpage.json", consumes = "application/json") String getAemExceptionMessages(); } 2. Client Fallback impl public class ClientFallback implements testClient { Logger logger = LogManager.getLogger(ClientFallback.class); @Value("${fallback.message}") private String fallbackJson; @Value("${exception.message}") private String exceptionFallbackJson; @Override public String getExceptionMessages() { return getFallbackExceptionJson(); } @Override...

SpringBoot controller advice

@ControllerAdvice @Order(Ordered.HIGHEST_PRECEDENCE) public class TestExceptionHandler { Logger logger = LogManager.getLogger(TestExceptionHandler.class); @Value(value = "${errorexceptionhandling.validation.name}") String validationComponentName; @Autowired ErrorExceptionMessageHandler errorHandler; @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<BaseServiceResponse<ErrorResponse>> validationErrorHandler( MethodArgumentNotValidException ex) { List<FieldError> list = ex.getBindingResult().getFieldErrors(); List<ErrorResponse> errorList = new ArrayList<>(); for (FieldError fe : list) { Map<String, String> params = new HashMap<>(); params.put(ExceptionHandlerConstants.FIELD, fe.getField()); Object temp = fe.getRejectedValue(); if (temp instanceof String) { params.put(ExceptionHandlerConstants.VALIDATED_VALUE, (String) temp); } if (fe.contains(Con...