in modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java [246:361]
private StAXArtifactProcessor getProcessor() {
if (processor == null) {
if (processorDeclaration.getClassName()
.equals("org.apache.tuscany.sca.assembly.xml.DefaultBeanModelProcessor")) {
// Specific initialization for the DefaultBeanModelProcessor
ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
ExtensionFactory extensionFactory = modelFactories.getFactory(ExtensionFactory.class);
PolicyFactory policyFactory = modelFactories.getFactory(PolicyFactory.class);
try {
Class<StAXArtifactProcessor> processorClass =
(Class<StAXArtifactProcessor>)processorDeclaration.loadClass();
Object modelFactory;
if (factoryName != null) {
Class<?> factoryClass = (Class<?>)processorDeclaration.loadClass(factoryName);
modelFactory = modelFactories.getFactory(factoryClass);
} else {
modelFactory = null;
}
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(AssemblyFactory.class,
ExtensionFactory.class,
PolicyFactory.class,
QName.class,
Class.class,
Object.class,
Monitor.class);
processor =
constructor.newInstance(assemblyFactory,
extensionFactory,
policyFactory,
artifactType,
getModelType(),
modelFactory,
monitor);
} catch (Exception e) {
IllegalStateException ie = new IllegalStateException(e);
error("IllegalStateException", processor, ie);
throw ie;
}
} else {
ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
// Load and instantiate the processor class
try {
Class<StAXArtifactProcessor> processorClass =
(Class<StAXArtifactProcessor>)processorDeclaration.loadClass();
try {
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(ModelFactoryExtensionPoint.class, Monitor.class);
processor = constructor.newInstance(modelFactories, monitor);
} catch (NoSuchMethodException e) {
try {
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(ExtensionPointRegistry.class, Monitor.class);
processor = constructor.newInstance(extensionPoints, monitor);
} catch (NoSuchMethodException e1) {
try {
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(ModelFactoryExtensionPoint.class, StAXArtifactProcessor.class, Monitor.class);
processor = constructor.newInstance(modelFactories, extensionProcessor, monitor);
} catch (NoSuchMethodException e2) {
try {
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(ModelFactoryExtensionPoint.class, StAXArtifactProcessor.class, StAXAttributeProcessor.class, Monitor.class);
processor = constructor.newInstance(modelFactories, extensionProcessor, extensionAttributeProcessor, monitor);
} catch (NoSuchMethodException e2a) {
try {
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(ExtensionPointRegistry.class, StAXArtifactProcessor.class, Monitor.class);
processor = constructor.newInstance(extensionPoints, extensionProcessor, monitor);
} catch (NoSuchMethodException e3) {
try {
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(ExtensionPointRegistry.class, StAXArtifactProcessor.class, StAXAttributeProcessor.class, Monitor.class);
processor = constructor.newInstance(extensionPoints, extensionProcessor, extensionAttributeProcessor, monitor);
} catch (NoSuchMethodException e3a) {
try {
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(ModelFactoryExtensionPoint.class);
processor = constructor.newInstance(modelFactories);
} catch (NoSuchMethodException e4) {
try {
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(ExtensionPointRegistry.class);
processor = constructor.newInstance(extensionPoints);
} catch (NoSuchMethodException e4a) {
try {
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(ModelFactoryExtensionPoint.class, StAXArtifactProcessor.class);
processor = constructor.newInstance(modelFactories, extensionProcessor);
} catch (NoSuchMethodException e5) {
Constructor<StAXArtifactProcessor> constructor =
processorClass.getConstructor(ExtensionPointRegistry.class, StAXArtifactProcessor.class);
processor = constructor.newInstance(extensionPoints, extensionProcessor);
}
}
}
}
}
}
}
}
}
} catch (Exception e) {
IllegalStateException ie = new IllegalStateException(e);
error("IllegalStateException", processor, ie);
throw ie;
}
}
}
return processor;
}