diff options
Diffstat (limited to 'branches/sca-java-1.x/modules/implementation-ejb/src/main/java')
5 files changed, 0 insertions, 612 deletions
diff --git a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/EJBImplementation.java b/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/EJBImplementation.java deleted file mode 100644 index 3243c94aa7..0000000000 --- a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/EJBImplementation.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.implementation.ejb; - -import java.util.Collection; -import java.util.Map; - -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.contribution.jee.InjectionTarget; -import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl; -import org.apache.tuscany.sca.implementation.java.impl.JavaResourceImpl; - - - -/** - * The model representing an EJB implementation in an SCA assembly model. - * - * @version $Rev$ $Date$ - */ -public interface EJBImplementation extends Implementation { - - /** - * Returns the EJB link URI. - * @return the EJB link URI - */ - String getEJBLink(); - - /** - * Sets the EJB link URI. - * @param ejbLink the EJB link URI - */ - void setEJBLink(String ejbLink); - - /** - * Returns the injection points for SCA references - * - * @return Map with injection points for SCA references - */ - Map<String, JavaElementImpl> getReferenceInjectionPoints(); - - /** - * Returns the injection points for SCA properties - * - * @return Map with injection points for SCA properties - */ - Map<String, JavaElementImpl> getPropertyInjectionPoints(); - - /** - * Returns the injection points for SCA resources like component context, component name, etc. - * - * @return Map with injection points for SCA resources - */ - Map<String, JavaResourceImpl> getResourceInjectionPoints(); - - /** - * Returns the injection points for SCA callbacks - * - * @return Map with injection points for SCA callbacks - */ - Map<String, Collection<JavaElementImpl>> getCallbackInjectionPoints(); - - Map<InjectionTarget, Class<?>> getOptExtensionReferenceInjectionPoints(); - - Map<String, String> getOptExtensionPropertyInjectionPoints(); -} diff --git a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/EJBImplementationFactory.java b/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/EJBImplementationFactory.java deleted file mode 100644 index bf9e13069b..0000000000 --- a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/EJBImplementationFactory.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.ejb; - - -/** - * Factory for the EJB implementation model. - * - * @version $Rev$ $Date$ - */ -public interface EJBImplementationFactory { - - /** - * Creates a new EJB implementation. - * @return a new EJB implementation - */ - EJBImplementation createEJBImplementation(); - -} diff --git a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/impl/EJBImplementationFactoryImpl.java b/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/impl/EJBImplementationFactoryImpl.java deleted file mode 100644 index 050d0cf17a..0000000000 --- a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/impl/EJBImplementationFactoryImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.ejb.impl; - -import org.apache.tuscany.sca.implementation.ejb.EJBImplementation; -import org.apache.tuscany.sca.implementation.ejb.EJBImplementationFactory; - -/** - * Factory for the EJB implementation model. - * - * @version $Rev$ $Date$ - */ -public class EJBImplementationFactoryImpl implements EJBImplementationFactory { - - public EJBImplementationFactoryImpl() { - } - - public EJBImplementation createEJBImplementation() { - return new EJBImplementationImpl(); - } - -} diff --git a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/impl/EJBImplementationImpl.java b/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/impl/EJBImplementationImpl.java deleted file mode 100644 index f912e4b36f..0000000000 --- a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/impl/EJBImplementationImpl.java +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.implementation.ejb.impl; - -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.builder.ComponentPreProcessor; -import org.apache.tuscany.sca.assembly.impl.ImplementationImpl; -import org.apache.tuscany.sca.contribution.jee.InjectionTarget; -import org.apache.tuscany.sca.implementation.ejb.EJBImplementation; -import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl; -import org.apache.tuscany.sca.implementation.java.impl.JavaResourceImpl; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - - -/** - * The model representing an EJB implementation in an SCA assembly model. - * - * @version $Rev$ $Date$ - */ -class EJBImplementationImpl extends ImplementationImpl implements EJBImplementation, ComponentPreProcessor { - - private String ejbLink; - - private Map<String, JavaElementImpl> propertyInjectionPoints = new HashMap<String, JavaElementImpl>(); - - private Map<String, JavaElementImpl> referenceInjectionPoints = new HashMap<String, JavaElementImpl>(); - - private Map<String, JavaResourceImpl> resourceInjectionPoints = new HashMap<String, JavaResourceImpl>(); - - private final Map<String, Collection<JavaElementImpl>> callbackInjectionPoints = new HashMap<String, Collection<JavaElementImpl>>(); - - private Map<InjectionTarget, Class<?>> optExtReferenceInjectionPoints = new HashMap<InjectionTarget, Class<?>>(); - - private Map<String, String> optExtPropertyInjectionPoints = new HashMap<String, String>(); - - /** - * Constructs a new EJB implementation. - */ - EJBImplementationImpl() { - super(); - } - - @Override - public ConstrainingType getConstrainingType() { - // The EJB implementation does not support constrainingTypes - return null; - } - - public String getEJBLink() { - return ejbLink; - } - - @Override - public void setConstrainingType(ConstrainingType constrainingType) { - // The EJB implementation does not support constrainingTypes - } - - public void setEJBLink(String ejbLink) { - this.ejbLink = ejbLink; - } - - public Map<String, JavaElementImpl> getPropertyInjectionPoints() { - return propertyInjectionPoints; - } - - public Map<String, JavaElementImpl> getReferenceInjectionPoints() { - return referenceInjectionPoints; - } - - public Map<String, JavaResourceImpl> getResourceInjectionPoints() { - return resourceInjectionPoints; - } - - public Map<String, Collection<JavaElementImpl>> getCallbackInjectionPoints() { - return callbackInjectionPoints; - } - - public Map<InjectionTarget, Class<?>> getOptExtensionReferenceInjectionPoints() { - return optExtReferenceInjectionPoints; - } - - public Map<String, String> getOptExtensionPropertyInjectionPoints() { - return optExtPropertyInjectionPoints; - } - - /** - * Use preProcess to add any references and properties dynamically - */ - public void preProcess(Component component) { - if (!(component instanceof RuntimeComponent)) { - return; - } - RuntimeComponent rtc = (RuntimeComponent) component; - - for (Reference reference : rtc.getReferences()) { - if (getReference(reference.getName()) == null) { - getReferences().add(createReference(reference)); - } - } - - for (Property property : rtc.getProperties()) { - if (getProperty(property.getName()) == null) { - getProperties().add(createProperty(property)); - } - } - - for(Service service : rtc.getServices()) { - if (getService(service.getName()) == null) { - getServices().add(createService(service)); - } - } - } - - protected Reference getReference(String name) { - for (Reference reference : getReferences()) { - if (reference.getName().equals(name)) { - return reference; - } - } - return null; - } - - protected Reference createReference(Reference reference) { - Reference newReference; - try { - newReference = (Reference)reference.clone(); - } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // should not ever happen - } - return newReference; - } - - protected Property getProperty(String name) { - for (Property property : getProperties()) { - if (property.getName().equals(name)) { - return property; - } - } - return null; - } - - protected Property createProperty(Property property) { - Property newProperty; - try { - newProperty = (Property)property.clone(); - } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // should not ever happen - } - return newProperty; - } - - protected Service getService(String name) { - for (Service service : getServices()) { - if (service.getName().equals(name)) { - return service; - } - } - return null; - } - - protected Service createService(Service service) { - Service newService; - try { - newService = (Service)service.clone(); - } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // should not ever happen - } - return newService; - } -} diff --git a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java b/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java deleted file mode 100644 index 30c42f47a8..0000000000 --- a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.implementation.ejb.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; - -import java.net.URI; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.logging.Logger; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.jee.EjbInfo; -import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; -import org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo; -import org.apache.tuscany.sca.contribution.jee.EnvEntryInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEExtension; -import org.apache.tuscany.sca.contribution.jee.JavaEEOptionalExtension; -import org.apache.tuscany.sca.contribution.jee.impl.EjbModuleInfoImpl; -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.contribution.service.ContributionWriteException; -import org.apache.tuscany.sca.implementation.ejb.EJBImplementation; -import org.apache.tuscany.sca.implementation.ejb.EJBImplementationFactory; -import org.apache.tuscany.sca.implementation.java.DefaultJavaImplementationFactory; -import org.apache.tuscany.sca.implementation.java.IntrospectionException; -import org.apache.tuscany.sca.implementation.java.JavaImplementation; -import org.apache.tuscany.sca.implementation.java.JavaImplementationFactory; -import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl; -import org.apache.tuscany.sca.implementation.java.impl.JavaResourceImpl; -import org.apache.tuscany.sca.implementation.java.introspect.impl.PropertyProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ReferenceProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProcessor; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.monitor.impl.ProblemImpl; - - -/** - * Implements a StAX artifact processor for EJB implementations. - * - * @version $Rev$ $Date$ - */ -public class EJBImplementationProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<EJBImplementation> { - private static final QName IMPLEMENTATION_EJB = new QName(Constants.SCA10_NS, "implementation.ejb"); - private static final Logger logger = Logger.getLogger(EJBImplementationProcessor.class.getName()); - - private AssemblyFactory assemblyFactory; - private EJBImplementationFactory implementationFactory; - private Monitor monitor; - private JavaEEExtension jeeExtension; - private JavaEEOptionalExtension jeeOptionalExtension; - private JavaImplementationFactory javaImplementationFactory; - private JavaInterfaceFactory javaInterfaceFactory; - - public EJBImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - this.implementationFactory = modelFactories.getFactory(EJBImplementationFactory.class); - this.jeeExtension = modelFactories.getFactory(JavaEEExtension.class); - this.jeeOptionalExtension = modelFactories.getFactory(JavaEEOptionalExtension.class); - this.monitor = monitor; - - this.javaImplementationFactory = new DefaultJavaImplementationFactory(); - this.javaInterfaceFactory = modelFactories.getFactory(JavaInterfaceFactory.class); - javaImplementationFactory.addClassVisitor(new ReferenceProcessor(assemblyFactory, javaInterfaceFactory)); - javaImplementationFactory.addClassVisitor(new PropertyProcessor(assemblyFactory)); - javaImplementationFactory.addClassVisitor(new ServiceProcessor(assemblyFactory, javaInterfaceFactory)); - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "impl-ejb-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - public QName getArtifactType() { - // Returns the QName of the XML element processed by this processor - return IMPLEMENTATION_EJB; - } - - public Class<EJBImplementation> getModelType() { - // Returns the type of model processed by this processor - return EJBImplementation.class; - } - - public EJBImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - - // Read an <implementation.ejb> element - EJBImplementation implementation = implementationFactory.createEJBImplementation(); - implementation.setUnresolved(true); - - // Read the ejb-link attribute - String ejbLink = getString(reader, "ejb-link"); - if (ejbLink != null) { - implementation.setEJBLink(ejbLink); - - // Set the URI of the component type - //implementation.setURI(ejbLink.replace('#', '/')); - int hashPosition = ejbLink.indexOf('#'); - if (hashPosition >= 0) { - implementation.setURI(ejbLink.substring(hashPosition + 1)); - } else { - implementation.setURI(ejbLink); - } - } else { - error("EJBLinkAttributeMissing", reader); - } - - // Skip to end element - while (reader.hasNext()) { - if (reader.next() == END_ELEMENT && IMPLEMENTATION_EJB.equals(reader.getName())) { - break; - } - } - - return implementation; - } - - public void resolve(EJBImplementation implementation, ModelResolver resolver) throws ContributionResolveException { - - // Resolve the component type - String uri = implementation.getURI(); - String ejbLink = implementation.getEJBLink(); - if (ejbLink != null) { - String module = ejbLink.indexOf('#') != -1 ? ejbLink.substring(0, ejbLink.indexOf('#')) : ""; - String beanName = ejbLink.indexOf('#') != -1 ? ejbLink.substring(ejbLink.indexOf('#')+1) : ejbLink; - EjbModuleInfo ejbModuleInfo = new EjbModuleInfoImpl(); - ejbModuleInfo.setUri(URI.create(module)); - ejbModuleInfo = resolver.resolveModel(EjbModuleInfo.class, ejbModuleInfo); - - if(jeeExtension != null) { - ComponentType ct = jeeExtension.createImplementationEjbComponentType(ejbModuleInfo, beanName); - // TODO - SL - TUSCANY-2944 - these new JEE processors are causing problems with existing contributions - // ct is null if there is no EJBInfo - if (ct != null){ - implementation.getServices().addAll(ct.getServices()); - } - } - - if(jeeOptionalExtension != null) { - ComponentType ct = jeeOptionalExtension.createImplementationEjbComponentType(ejbModuleInfo, beanName); - // TODO - SL - TUSCANY-2944 - these new JEE processors are causing problems with existing contributions - // ct is null if there is no EJBInfo - if (ct != null){ - implementation.getReferences().addAll(ct.getReferences()); - implementation.getProperties().addAll(ct.getProperties()); - - // Injection points - List<String> propertyNames = new ArrayList<String>(); - for(Property prop : ct.getProperties()) { - propertyNames.add(prop.getName()); - } - EjbInfo ejbInfo = ejbModuleInfo.getEjbInfo(uri); - for(Map.Entry<String, EjbReferenceInfo> entry : ejbInfo.ejbReferences.entrySet()) { - EjbReferenceInfo ejbRef = entry.getValue(); - implementation.getOptExtensionReferenceInjectionPoints().put(ejbRef.injectionTarget, ejbRef.businessInterface); - } - for(Map.Entry<String, EnvEntryInfo> entry : ejbInfo.envEntries.entrySet()) { - EnvEntryInfo envEntry = entry.getValue(); - if(propertyNames.contains(envEntry.name.replace("/", "_"))) { - implementation.getOptExtensionPropertyInjectionPoints().put(envEntry.name, envEntry.type); - } - } - } - } - - EjbInfo ejbInfo = ejbModuleInfo.getEjbInfo(uri); - if (ejbInfo == null) { - // FIXME: - logger.severe("EJB " + uri + " is not found in the module"); - // throw new ContributionResolveException("EJB " + uri + " is not found in the module"); - } else { - // Introspection of bean class - Class<?> beanClass = ejbInfo.beanClass; - try { - JavaImplementation ji = javaImplementationFactory.createJavaImplementation(beanClass); - implementation.getReferences().addAll(ji.getReferences()); - implementation.getProperties().addAll(ji.getProperties()); - implementation.getServices().addAll(ji.getServices()); - for(Map.Entry<String, JavaElementImpl> entry : ji.getReferenceMembers().entrySet()) { - implementation.getReferenceInjectionPoints().put(entry.getKey(), entry.getValue()); - } - for(Map.Entry<String, JavaElementImpl> entry : ji.getPropertyMembers().entrySet()) { - implementation.getPropertyInjectionPoints().put(entry.getKey(), entry.getValue()); - } - for(Map.Entry<String, JavaResourceImpl> entry : ji.getResources().entrySet()) { - implementation.getResourceInjectionPoints().put(entry.getKey(), entry.getValue()); - } - for(Map.Entry<String, Collection<JavaElementImpl>> entry : ji.getCallbackMembers().entrySet()) { - implementation.getCallbackInjectionPoints().put(entry.getKey(), entry.getValue()); - } - } catch (IntrospectionException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - // Process componentType side file - ComponentType componentType = assemblyFactory.createComponentType(); - componentType.setURI(uri + ".componentType"); - componentType = resolver.resolveModel(ComponentType.class, componentType); - if (!componentType.isUnresolved()) { - - // Initialize the implementation's services, references and properties - implementation.getServices().addAll(componentType.getServices()); - implementation.getReferences().addAll(componentType.getReferences()); - implementation.getProperties().addAll(componentType.getProperties()); - } - } - - implementation.setUnresolved(false); - } - - public void write(EJBImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write <implementation.ejb> - writeStart(writer, IMPLEMENTATION_EJB.getNamespaceURI(), IMPLEMENTATION_EJB.getLocalPart(), - new XAttr("ejb-link", implementation.getEJBLink())); - - writeEnd(writer); - } -} |