Skip to content

Commit e78c889

Browse files
author
Ajith Joseph
committed
TURMERIC-1660 A service created with the eclipse wizard doesn't build in the command line if the protobuf option is checked in the wizard
1 parent 149f78a commit e78c889

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

codegen/codegen-tools/src/main/java/org/ebayopensource/turmeric/tools/codegen/ServiceCodeGenBuilder.java

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
import org.ebayopensource.turmeric.tools.codegen.exception.MissingInputOptionException;
5959
import org.ebayopensource.turmeric.tools.codegen.exception.PreProcessFailedException;
6060
import org.ebayopensource.turmeric.tools.codegen.fastserformat.FastSerFormatCodegenBuilder;
61+
import org.ebayopensource.turmeric.tools.codegen.fastserformat.protobuf.validator.FastSerFormatNotSupportedException;
6162
import org.ebayopensource.turmeric.tools.codegen.handler.ConsoleResponseHandler;
6263
import org.ebayopensource.turmeric.tools.codegen.handler.DontPromptResponseHandler;
6364
import org.ebayopensource.turmeric.tools.codegen.handler.UserResponseHandler;
@@ -83,6 +84,7 @@
8384
public class ServiceCodeGenBuilder {
8485

8586
private static Logger s_logger = LogManager.getInstance(ServiceCodeGenBuilder.class);
87+
private boolean skipCodegenForFastSerFormats;
8688

8789

8890
private Logger getLogger() {
@@ -176,7 +178,14 @@ else if (userResponseHandler == null) {
176178
CodeGenContext codeGenCtx = createContext(inputOptions, userResponseHandler);
177179

178180
if( isValidationRequiredForFastSerFormat( codeGenCtx ) ){
179-
FastSerFormatCodegenBuilder.getInstance().validateServiceIfApplicable(codeGenCtx);
181+
try{
182+
FastSerFormatCodegenBuilder.getInstance().validateServiceIfApplicable(codeGenCtx);
183+
}catch(FastSerFormatNotSupportedException e){
184+
this.skipCodegenForFastSerFormats = true;
185+
getLogger().log(Level.INFO, "Codegen will be skipped for for Fast Ser formats due to WSDL validation errors (" +
186+
e.getMessage() +
187+
")");
188+
}
180189
}
181190
if(inputOptions.isEnabledNamespaceFoldingSet()&& isMMNWsdlGenerationRequired(codeGenCtx.getInputOptions()))
182191
{
@@ -381,7 +390,9 @@ private List<SourceGenerator> getCodeGenerators(InputOptions inputOptions) {
381390
codeGenerators.add(WSDLGenerator.getInstance());
382391
}
383392
codeGenerators.add(TypeDefsBuilderGenerator.getInstance());
384-
codeGenerators.add(FastSerFormatCodegenBuilder.getInstance());
393+
if(!skipCodegenForFastSerFormats){
394+
codeGenerators.add(FastSerFormatCodegenBuilder.getInstance());
395+
}
385396
}
386397
else if (codeGenType == CodeGenType.Server) {
387398
codeGenerators.add(ServiceSkeletonGenerator.getInstance());
@@ -421,7 +432,9 @@ else if (codeGenType == CodeGenType.Client) {
421432
if (inputOptions.isGenTests() && inputOptions.isBaseConsumerGenertionReq()) {
422433
codeGenerators.add(ServiceConsumerGenerator.getInstance());
423434
}
424-
codeGenerators.add(FastSerFormatCodegenBuilder.getInstance());
435+
if(!skipCodegenForFastSerFormats){
436+
codeGenerators.add(FastSerFormatCodegenBuilder.getInstance());
437+
}
425438
}
426439
else if (codeGenType == CodeGenType.ServerNoConfig) {
427440
codeGenerators.add(ServiceSkeletonGenerator.getInstance());
@@ -455,7 +468,9 @@ else if (codeGenType == CodeGenType.ClientNoConfig) {
455468
if(inputOptions.isGenerateSharedConsumer() || inputOptions.isConsumerAnInterfaceProjectArtifact()) {
456469
codeGenerators.add(ServiceConsumerGenerator.getInstance());
457470
}
458-
codeGenerators.add(FastSerFormatCodegenBuilder.getInstance());
471+
if(!skipCodegenForFastSerFormats){
472+
codeGenerators.add(FastSerFormatCodegenBuilder.getInstance());
473+
}
459474

460475
}
461476
else if (codeGenType == CodeGenType.Proxy) {
@@ -552,8 +567,10 @@ else if (codeGenType == CodeGenType.ServiceFromWSDLIntf){
552567
codeGenerators.add(ServiceConsumerGenerator.getInstance());
553568

554569
if (inputOptions.isGenTests() && inputOptions.isBaseConsumerGenertionReq())
555-
codeGenerators.add(ServiceConsumerGenerator.getInstance());
556-
codeGenerators.add(FastSerFormatCodegenBuilder.getInstance());
570+
codeGenerators.add(ServiceConsumerGenerator.getInstance());
571+
if(!skipCodegenForFastSerFormats){
572+
codeGenerators.add(FastSerFormatCodegenBuilder.getInstance());
573+
}
557574
}
558575
else if (codeGenType == CodeGenType.ServiceFromWSDLImpl){
559576
codeGenerators.add(ServiceSkeletonGenerator.getInstance());

0 commit comments

Comments
 (0)