|
58 | 58 | import org.ebayopensource.turmeric.tools.codegen.exception.MissingInputOptionException;
|
59 | 59 | import org.ebayopensource.turmeric.tools.codegen.exception.PreProcessFailedException;
|
60 | 60 | import org.ebayopensource.turmeric.tools.codegen.fastserformat.FastSerFormatCodegenBuilder;
|
| 61 | +import org.ebayopensource.turmeric.tools.codegen.fastserformat.protobuf.validator.FastSerFormatNotSupportedException; |
61 | 62 | import org.ebayopensource.turmeric.tools.codegen.handler.ConsoleResponseHandler;
|
62 | 63 | import org.ebayopensource.turmeric.tools.codegen.handler.DontPromptResponseHandler;
|
63 | 64 | import org.ebayopensource.turmeric.tools.codegen.handler.UserResponseHandler;
|
|
83 | 84 | public class ServiceCodeGenBuilder {
|
84 | 85 |
|
85 | 86 | private static Logger s_logger = LogManager.getInstance(ServiceCodeGenBuilder.class);
|
| 87 | + private boolean skipCodegenForFastSerFormats; |
86 | 88 |
|
87 | 89 |
|
88 | 90 | private Logger getLogger() {
|
@@ -176,7 +178,14 @@ else if (userResponseHandler == null) {
|
176 | 178 | CodeGenContext codeGenCtx = createContext(inputOptions, userResponseHandler);
|
177 | 179 |
|
178 | 180 | 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 | + } |
180 | 189 | }
|
181 | 190 | if(inputOptions.isEnabledNamespaceFoldingSet()&& isMMNWsdlGenerationRequired(codeGenCtx.getInputOptions()))
|
182 | 191 | {
|
@@ -381,7 +390,9 @@ private List<SourceGenerator> getCodeGenerators(InputOptions inputOptions) {
|
381 | 390 | codeGenerators.add(WSDLGenerator.getInstance());
|
382 | 391 | }
|
383 | 392 | codeGenerators.add(TypeDefsBuilderGenerator.getInstance());
|
384 |
| - codeGenerators.add(FastSerFormatCodegenBuilder.getInstance()); |
| 393 | + if(!skipCodegenForFastSerFormats){ |
| 394 | + codeGenerators.add(FastSerFormatCodegenBuilder.getInstance()); |
| 395 | + } |
385 | 396 | }
|
386 | 397 | else if (codeGenType == CodeGenType.Server) {
|
387 | 398 | codeGenerators.add(ServiceSkeletonGenerator.getInstance());
|
@@ -421,7 +432,9 @@ else if (codeGenType == CodeGenType.Client) {
|
421 | 432 | if (inputOptions.isGenTests() && inputOptions.isBaseConsumerGenertionReq()) {
|
422 | 433 | codeGenerators.add(ServiceConsumerGenerator.getInstance());
|
423 | 434 | }
|
424 |
| - codeGenerators.add(FastSerFormatCodegenBuilder.getInstance()); |
| 435 | + if(!skipCodegenForFastSerFormats){ |
| 436 | + codeGenerators.add(FastSerFormatCodegenBuilder.getInstance()); |
| 437 | + } |
425 | 438 | }
|
426 | 439 | else if (codeGenType == CodeGenType.ServerNoConfig) {
|
427 | 440 | codeGenerators.add(ServiceSkeletonGenerator.getInstance());
|
@@ -455,7 +468,9 @@ else if (codeGenType == CodeGenType.ClientNoConfig) {
|
455 | 468 | if(inputOptions.isGenerateSharedConsumer() || inputOptions.isConsumerAnInterfaceProjectArtifact()) {
|
456 | 469 | codeGenerators.add(ServiceConsumerGenerator.getInstance());
|
457 | 470 | }
|
458 |
| - codeGenerators.add(FastSerFormatCodegenBuilder.getInstance()); |
| 471 | + if(!skipCodegenForFastSerFormats){ |
| 472 | + codeGenerators.add(FastSerFormatCodegenBuilder.getInstance()); |
| 473 | + } |
459 | 474 |
|
460 | 475 | }
|
461 | 476 | else if (codeGenType == CodeGenType.Proxy) {
|
@@ -552,8 +567,10 @@ else if (codeGenType == CodeGenType.ServiceFromWSDLIntf){
|
552 | 567 | codeGenerators.add(ServiceConsumerGenerator.getInstance());
|
553 | 568 |
|
554 | 569 | 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 | + } |
557 | 574 | }
|
558 | 575 | else if (codeGenType == CodeGenType.ServiceFromWSDLImpl){
|
559 | 576 | codeGenerators.add(ServiceSkeletonGenerator.getInstance());
|
|
0 commit comments