summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2008-08-11 23:24:54 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2008-08-11 23:24:54 +0000
commitecc75e3effd3e8a66877f7acd2bc7ce1a7a5a4b4 (patch)
tree51556e8093577e94547629e89e971a20146d8a3f
parent60629ea47ea9eb2c77f97aeed69a50e1d90bfedc (diff)
Make AssemblyHelper non-static so that factories can be passed in
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@684980 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java36
-rw-r--r--java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java68
-rw-r--r--java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java30
3 files changed, 80 insertions, 54 deletions
diff --git a/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java b/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java
index 12a20b0b6e..3634be3bec 100644
--- a/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java
+++ b/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java
@@ -50,8 +50,8 @@ import org.apache.tuscany.sca.policy.PolicyFactory;
* @version $Rev$ $Date$
*/
public class AssemblyHelper {
- private static AssemblyFactory af = new DefaultAssemblyFactory();
- private static JavaInterfaceFactory jif = new DefaultJavaInterfaceFactory();
+ private AssemblyFactory af;
+ private JavaInterfaceFactory jif;
public static final Map<String, QName> ALLOWED_ENV_ENTRY_TYPES;
public static Intent CONVERSATIONAL_INTENT;
@@ -82,7 +82,19 @@ public class AssemblyHelper {
}
- public static JavaInterfaceContract createInterfaceContract(Class<?> clazz) throws InvalidInterfaceException {
+ public AssemblyHelper() {
+ super();
+ af = new DefaultAssemblyFactory();
+ jif = new DefaultJavaInterfaceFactory();
+ }
+
+ public AssemblyHelper(AssemblyFactory af, JavaInterfaceFactory jif) {
+ super();
+ this.af = af;
+ this.jif = jif;
+ }
+
+ public JavaInterfaceContract createInterfaceContract(Class<?> clazz) throws InvalidInterfaceException {
JavaInterface ji = jif.createJavaInterface(clazz);
JavaInterfaceContract jic = jif.createJavaInterfaceContract();
jic.setInterface(ji);
@@ -90,23 +102,23 @@ public class AssemblyHelper {
return jic;
}
- public static ComponentService createComponentService() {
+ public ComponentService createComponentService() {
return af.createComponentService();
}
- public static ComponentReference createComponentReference() {
+ public ComponentReference createComponentReference() {
return af.createComponentReference();
}
- public static ComponentProperty createComponentProperty() {
+ public ComponentProperty createComponentProperty() {
return af.createComponentProperty();
}
- public static ComponentType createComponentType() {
+ public ComponentType createComponentType() {
return af.createComponentType();
}
- public static Component createComponentFromComponentType(ComponentType componentType, String componentName) {
+ public Component createComponentFromComponentType(ComponentType componentType, String componentName) {
Component component = af.createComponent();
component.setName(componentName);
@@ -130,19 +142,19 @@ public class AssemblyHelper {
return component;
}
- public static Composite createComposite() {
+ public Composite createComposite() {
return af.createComposite();
}
- public static Component createComponent() {
+ public Component createComponent() {
return af.createComponent();
}
- public static CompositeReference createCompositeReference() {
+ public CompositeReference createCompositeReference() {
return af.createCompositeReference();
}
- public static CompositeService createCompositeService() {
+ public CompositeService createCompositeService() {
return af.createCompositeService();
}
}
diff --git a/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java b/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java
index 4d25fdeff0..a13080eac4 100644
--- a/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java
+++ b/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java
@@ -56,14 +56,20 @@ import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
* @version $Rev$ $Date$
*/
public class EJBModuleProcessor {
-
private EjbModule ejbModule;
-
+ private AssemblyHelper helper;
private Map<String, List<String>> intfToBean = new HashMap<String, List<String>>();
private List<String> statefulBeans = new ArrayList<String>();
+ public EJBModuleProcessor(EjbModule ejbModule, AssemblyHelper helper) {
+ super();
+ this.ejbModule = ejbModule;
+ this.helper = helper;
+ }
+
public EJBModuleProcessor(EjbModule ejbModule) {
this.ejbModule = ejbModule;
+ this.helper = new AssemblyHelper();
}
public Map<String, ComponentType> getEjbComponentTypes() throws ContributionException {
@@ -100,7 +106,7 @@ public class EJBModuleProcessor {
String intf = ((JavaInterface)reference.getInterfaceContract().getInterface()).getName();
for (String bean : intfToBean.get(intf)) {
if (statefulBeans.contains(bean)) {
- reference.getRequiredIntents().add(AssemblyHelper.CONVERSATIONAL_INTENT);
+ reference.getRequiredIntents().add(helper.CONVERSATIONAL_INTENT);
break;
}
}
@@ -111,7 +117,7 @@ public class EJBModuleProcessor {
}
public ComponentType getEjbAppComponentType() throws ContributionException {
- ComponentType componentType = AssemblyHelper.createComponentType();
+ ComponentType componentType = helper.createComponentType();
Map<String, ComponentType> ejbComponentTypes = getEjbComponentTypes();
@@ -120,7 +126,7 @@ public class EJBModuleProcessor {
ComponentType ejbComponentType = entry.getValue();
for (Service service : ejbComponentType.getServices()) {
- Service service2 = AssemblyHelper.createComponentService();
+ Service service2 = helper.createComponentService();
service2.setName(beanName + "_" + service.getName());
service2.setInterfaceContract(service.getInterfaceContract());
service2.getRequiredIntents().addAll(service.getRequiredIntents());
@@ -129,7 +135,7 @@ public class EJBModuleProcessor {
}
for (Reference reference : ejbComponentType.getReferences()) {
- Reference reference2 = AssemblyHelper.createComponentReference();
+ Reference reference2 = helper.createComponentReference();
reference2.setName(beanName + "_" + reference.getName());
reference2.setInterfaceContract(reference.getInterfaceContract());
reference2.getRequiredIntents().addAll(reference.getRequiredIntents());
@@ -142,7 +148,7 @@ public class EJBModuleProcessor {
}
public Composite getEjbAppComposite() throws ContributionException {
- Composite composite = AssemblyHelper.createComposite();
+ Composite composite = helper.createComposite();
Map<String, ComponentType> ejbComponentTypes = getEjbComponentTypes();
@@ -156,28 +162,28 @@ public class EJBModuleProcessor {
EJBImplementation impl = eif.createEJBImplementation();
impl.setEJBLink(ejbModule.getModuleId() + "#" + ejbName);
// Create component
- Component component = AssemblyHelper.createComponent();
+ Component component = helper.createComponent();
String componentName = ejbName;
component.setName(componentName);
component.setImplementation(impl);
// Add services
for (Service service : componentType.getServices()) {
- ComponentService componentService = AssemblyHelper.createComponentService();
+ ComponentService componentService = helper.createComponentService();
componentService.setService(service);
component.getServices().add(componentService);
}
// Add references
for (Reference reference : componentType.getReferences()) {
- ComponentReference componentReference = AssemblyHelper.createComponentReference();
+ ComponentReference componentReference = helper.createComponentReference();
componentReference.setReference(reference);
component.getReferences().add(componentReference);
}
// Add properties
for (Property property : componentType.getProperties()) {
- ComponentProperty componentProperty = AssemblyHelper.createComponentProperty();
+ ComponentProperty componentProperty = helper.createComponentProperty();
componentProperty.setProperty(property);
component.getProperties().add(componentProperty);
}
@@ -187,7 +193,7 @@ public class EJBModuleProcessor {
// Add composite services
for (ComponentService service : component.getServices()) {
- CompositeService compositeService = AssemblyHelper.createCompositeService();
+ CompositeService compositeService = helper.createCompositeService();
compositeService.setInterfaceContract(service.getInterfaceContract());
compositeService.setPromotedComponent(component);
compositeService.setPromotedService(service);
@@ -196,7 +202,7 @@ public class EJBModuleProcessor {
// Add composite references
for (ComponentReference reference : component.getReferences()) {
- CompositeReference compositeReference = AssemblyHelper.createCompositeReference();
+ CompositeReference compositeReference = helper.createCompositeReference();
compositeReference.setInterfaceContract(reference.getInterfaceContract());
compositeReference.getPromotedReferences().add(reference);
composite.getReferences().add(compositeReference);
@@ -206,7 +212,7 @@ public class EJBModuleProcessor {
}
private ComponentType getEjbComponentType(SessionBean bean, ClassLoader cl) throws ContributionException {
- ComponentType componentType = AssemblyHelper.createComponentType();
+ ComponentType componentType = helper.createComponentType();
boolean conversational = bean.getSessionType().equals(SessionType.STATEFUL);
if (conversational) {
@@ -226,12 +232,12 @@ public class EJBModuleProcessor {
String serviceName =
intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName;
- Service service = AssemblyHelper.createComponentService();
+ Service service = helper.createComponentService();
service.setName(serviceName);
InterfaceContract ic = null;
try {
Class<?> clazz = cl.loadClass(intfName);
- ic = AssemblyHelper.createInterfaceContract(clazz);
+ ic = helper.createInterfaceContract(clazz);
ic.getInterface().setConversational(conversational);
ic.getInterface().setRemotable(true);
} catch (Exception e) {
@@ -239,7 +245,7 @@ public class EJBModuleProcessor {
}
service.setInterfaceContract(ic);
if (conversational) {
- service.getRequiredIntents().add(AssemblyHelper.CONVERSATIONAL_INTENT);
+ service.getRequiredIntents().add(helper.CONVERSATIONAL_INTENT);
}
componentType.getServices().add(service);
}
@@ -248,19 +254,19 @@ public class EJBModuleProcessor {
for (String intfName : bean.getBusinessLocal()) {
String serviceName =
intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName;
- Service service = AssemblyHelper.createComponentService();
+ Service service = helper.createComponentService();
service.setName(serviceName);
InterfaceContract ic = null;
try {
Class<?> clazz = cl.loadClass(intfName);
- ic = AssemblyHelper.createInterfaceContract(clazz);
+ ic = helper.createInterfaceContract(clazz);
ic.getInterface().setConversational(conversational);
} catch (Exception e) {
throw new ContributionException(e);
}
service.setInterfaceContract(ic);
if (conversational) {
- service.getRequiredIntents().add(AssemblyHelper.CONVERSATIONAL_INTENT);
+ service.getRequiredIntents().add(helper.CONVERSATIONAL_INTENT);
}
componentType.getServices().add(service);
}
@@ -273,12 +279,12 @@ public class EJBModuleProcessor {
}
String referenceName = entry.getKey();
referenceName = referenceName.replace("/", "_");
- Reference reference = AssemblyHelper.createComponentReference();
+ Reference reference = helper.createComponentReference();
reference.setName(referenceName);
InterfaceContract ic = null;
try {
Class<?> clazz = cl.loadClass(ejbRef.getInterface());
- ic = AssemblyHelper.createInterfaceContract(clazz);
+ ic = helper.createInterfaceContract(clazz);
} catch (Exception e) {
throw new ContributionException(e);
}
@@ -290,15 +296,15 @@ public class EJBModuleProcessor {
for (Map.Entry<String, EnvEntry> entry : bean.getEnvEntryMap().entrySet()) {
EnvEntry envEntry = entry.getValue();
String type = envEntry.getEnvEntryType();
- if (!AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) {
+ if (!helper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) {
continue;
}
String propertyName = entry.getKey();
propertyName = propertyName.replace("/", "_");
String value = envEntry.getEnvEntryValue();
- Property property = AssemblyHelper.createComponentProperty();
+ Property property = helper.createComponentProperty();
property.setName(propertyName);
- property.setXSDType(AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.get(type));
+ property.setXSDType(helper.ALLOWED_ENV_ENTRY_TYPES.get(type));
property.setValue(value);
componentType.getProperties().add(property);
}
@@ -307,7 +313,7 @@ public class EJBModuleProcessor {
}
private ComponentType getEjbComponentType(MessageDrivenBean bean, ClassLoader cl) throws ContributionException {
- ComponentType componentType = AssemblyHelper.createComponentType();
+ ComponentType componentType = helper.createComponentType();
// Process Remote EJB References
for (Map.Entry<String, EjbRef> entry : bean.getEjbRefMap().entrySet()) {
@@ -317,12 +323,12 @@ public class EJBModuleProcessor {
}
String referenceName = entry.getKey();
referenceName = referenceName.replace("/", "_");
- Reference reference = AssemblyHelper.createComponentReference();
+ Reference reference = helper.createComponentReference();
reference.setName(referenceName);
InterfaceContract ic = null;
try {
Class<?> clazz = cl.loadClass(ejbRef.getInterface());
- ic = AssemblyHelper.createInterfaceContract(clazz);
+ ic = helper.createInterfaceContract(clazz);
} catch (Exception e) {
throw new ContributionException(e);
}
@@ -334,15 +340,15 @@ public class EJBModuleProcessor {
for (Map.Entry<String, EnvEntry> entry : bean.getEnvEntryMap().entrySet()) {
EnvEntry envEntry = entry.getValue();
String type = envEntry.getEnvEntryType();
- if (!AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) {
+ if (!helper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) {
continue;
}
String propertyName = entry.getKey();
propertyName = propertyName.replace("/", "_");
String value = envEntry.getEnvEntryValue();
- Property property = AssemblyHelper.createComponentProperty();
+ Property property = helper.createComponentProperty();
property.setName(propertyName);
- property.setXSDType(AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.get(type));
+ property.setXSDType(helper.ALLOWED_ENV_ENTRY_TYPES.get(type));
property.setValue(value);
componentType.getProperties().add(property);
}
diff --git a/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java b/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java
index b7641bb31f..992151f70f 100644
--- a/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java
+++ b/java/sca/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java
@@ -44,16 +44,24 @@ import org.apache.tuscany.sca.interfacedef.InterfaceContract;
public class WebModuleProcessor {
private WebModule webModule;
private ComponentType componentType;
+ private AssemblyHelper helper;
+
+ public WebModuleProcessor(WebModule webModule, AssemblyHelper helper) {
+ super();
+ this.webModule = webModule;
+ this.helper = helper;
+ }
public WebModuleProcessor(WebModule module) {
webModule = module;
+ helper = new AssemblyHelper();
}
public ComponentType getWebAppComponentType() throws ContributionException {
if (componentType != null) {
return componentType;
}
- componentType = AssemblyHelper.createComponentType();
+ componentType = helper.createComponentType();
WebApp webApp = webModule.getWebApp();
ClassLoader classLoader = webModule.getClassLoader();
@@ -68,12 +76,12 @@ public class WebModuleProcessor {
}
String referenceName = entry.getKey();
referenceName = referenceName.replace("/", "_");
- Reference reference = AssemblyHelper.createComponentReference();
+ Reference reference = helper.createComponentReference();
reference.setName(referenceName);
InterfaceContract ic = null;
try {
Class<?> clazz = classLoader.loadClass(ejbRef.getInterface());
- ic = AssemblyHelper.createInterfaceContract(clazz);
+ ic = helper.createInterfaceContract(clazz);
} catch (Exception e) {
componentType = null;
throw new ContributionException(e);
@@ -86,15 +94,15 @@ public class WebModuleProcessor {
for (Map.Entry<String, EnvEntry> entry : webApp.getEnvEntryMap().entrySet()) {
EnvEntry envEntry = entry.getValue();
String type = envEntry.getEnvEntryType();
- if (!AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) {
+ if (!helper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) {
continue;
}
String propertyName = entry.getKey();
propertyName = propertyName.replace("/", "_");
String value = envEntry.getEnvEntryValue();
- Property property = AssemblyHelper.createComponentProperty();
+ Property property = helper.createComponentProperty();
property.setName(propertyName);
- property.setXSDType(AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.get(type));
+ property.setXSDType(helper.ALLOWED_ENV_ENTRY_TYPES.get(type));
property.setValue(value);
componentType.getProperties().add(property);
}
@@ -105,7 +113,7 @@ public class WebModuleProcessor {
public Composite getWebAppComposite() throws ContributionException {
getWebAppComponentType();
- Composite composite = AssemblyHelper.createComposite();
+ Composite composite = helper.createComposite();
ModelFactoryExtensionPoint mfep = new DefaultModelFactoryExtensionPoint();
WebImplementationFactory wif = mfep.getFactory(WebImplementationFactory.class);
@@ -113,21 +121,21 @@ public class WebModuleProcessor {
impl.setWebURI(webModule.getModuleId());
// Create component
- Component component = AssemblyHelper.createComponent();
+ Component component = helper.createComponent();
String componentName = webModule.getModuleId();
component.setName(componentName);
component.setImplementation(impl);
// Add references
for (Reference reference : componentType.getReferences()) {
- ComponentReference componentReference = AssemblyHelper.createComponentReference();
+ ComponentReference componentReference = helper.createComponentReference();
componentReference.setReference(reference);
component.getReferences().add(componentReference);
}
// Add properties
for (Property property : componentType.getProperties()) {
- ComponentProperty componentProperty = AssemblyHelper.createComponentProperty();
+ ComponentProperty componentProperty = helper.createComponentProperty();
componentProperty.setProperty(property);
component.getProperties().add(componentProperty);
}
@@ -137,7 +145,7 @@ public class WebModuleProcessor {
// Add composite references
for (ComponentReference reference : component.getReferences()) {
- CompositeReference compositeReference = AssemblyHelper.createCompositeReference();
+ CompositeReference compositeReference = helper.createCompositeReference();
compositeReference.setInterfaceContract(reference.getInterfaceContract());
compositeReference.getPromotedReferences().add(reference);
composite.getReferences().add(compositeReference);