Search in sources :

Example 1 with SunApplicationClient

use of org.apache.openejb.jee.sun.SunApplicationClient in project tomee by apache.

the class SunConversion method convertModule.

public void convertModule(final ClientModule clientModule) {
    if (clientModule == null) {
        return;
    }
    final ApplicationClient applicationClient = clientModule.getApplicationClient();
    if (applicationClient == null) {
        return;
    }
    final SunApplicationClient sunApplicationClient = getSunApplicationClient(clientModule);
    if (sunApplicationClient == null) {
        return;
    }
    // map ejb-refs
    final Map<String, org.apache.openejb.jee.EjbRef> refMap = applicationClient.getEjbRefMap();
    // map ejb-ref jndi name declaration to deploymentId
    for (final EjbRef ref : sunApplicationClient.getEjbRef()) {
        if (ref.getJndiName() != null) {
            String refName = ref.getEjbRefName();
            refName = normalize(refName);
            org.apache.openejb.jee.EjbRef ejbRef = refMap.get(refName);
            if (ejbRef == null) {
                ejbRef = new org.apache.openejb.jee.EjbRef();
                ejbRef.setEjbRefName(refName);
                refMap.put(refName, ejbRef);
                applicationClient.getEjbRef().add(ejbRef);
            }
            ejbRef.setMappedName(ref.getJndiName());
        }
    }
    // map resource-env-refs and message-destination-refs
    final Map<String, JndiReference> resEnvMap = new TreeMap<String, JndiReference>();
    resEnvMap.putAll(applicationClient.getResourceEnvRefMap());
    resEnvMap.putAll(applicationClient.getMessageDestinationRefMap());
    for (final ResourceRef ref : sunApplicationClient.getResourceRef()) {
        if (ref.getJndiName() != null) {
            String refName = ref.getResRefName();
            refName = normalize(refName);
            final JndiReference resEnvRef = resEnvMap.get(refName);
            if (resEnvRef != null) {
                resEnvRef.setMappedName(ref.getJndiName());
            }
        }
    }
    for (final ResourceEnvRef ref : sunApplicationClient.getResourceEnvRef()) {
        if (ref.getJndiName() != null) {
            String refName = ref.getResourceEnvRefName();
            refName = normalize(refName);
            final JndiReference resEnvRef = resEnvMap.get(refName);
            if (resEnvRef != null) {
                resEnvRef.setMappedName(ref.getJndiName());
            }
        }
    }
    for (final MessageDestinationRef ref : sunApplicationClient.getMessageDestinationRef()) {
        if (ref.getJndiName() != null) {
            String refName = ref.getMessageDestinationRefName();
            refName = normalize(refName);
            final JndiReference resEnvRef = resEnvMap.get(refName);
            if (resEnvRef != null) {
                resEnvRef.setMappedName(ref.getJndiName());
            }
        }
    }
    final Map<String, ServiceRef> serviceRefMap = applicationClient.getServiceRefMap();
    for (final org.apache.openejb.jee.sun.ServiceRef ref : sunApplicationClient.getServiceRef()) {
        String refName = ref.getServiceRefName();
        refName = normalize(refName);
        final ServiceRef serviceRef = serviceRefMap.get(refName);
        if (serviceRef != null) {
            final Map<String, PortComponentRef> ports = new TreeMap<String, PortComponentRef>();
            for (final PortComponentRef portComponentRef : serviceRef.getPortComponentRef()) {
                ports.put(portComponentRef.getServiceEndpointInterface(), portComponentRef);
            }
            for (final PortInfo portInfo : ref.getPortInfo()) {
                final PortComponentRef portComponentRef = ports.get(portInfo.getServiceEndpointInterface());
                if (portComponentRef != null) {
                    final WsdlPort wsdlPort = portInfo.getWsdlPort();
                    if (wsdlPort != null) {
                        final QName qname = new QName(wsdlPort.getNamespaceURI(), wsdlPort.getLocalpart());
                        portComponentRef.setQName(qname);
                    }
                    for (final StubProperty stubProperty : portInfo.getStubProperty()) {
                        final String name = stubProperty.getName();
                        final String value = stubProperty.getValue();
                        portComponentRef.getProperties().setProperty(name, value);
                    }
                }
            }
            final String wsdlOverride = ref.getWsdlOverride();
            if (wsdlOverride != null && wsdlOverride.length() > 0) {
                final String serviceId = extractServiceId(wsdlOverride);
                serviceRef.setMappedName(serviceId);
            }
        }
    }
}
Also used : WsdlPort(org.apache.openejb.jee.sun.WsdlPort) PortInfo(org.apache.openejb.jee.sun.PortInfo) MessageDestinationRef(org.apache.openejb.jee.sun.MessageDestinationRef) JndiReference(org.apache.openejb.jee.JndiReference) EjbRef(org.apache.openejb.jee.sun.EjbRef) ResourceEnvRef(org.apache.openejb.jee.sun.ResourceEnvRef) ApplicationClient(org.apache.openejb.jee.ApplicationClient) SunApplicationClient(org.apache.openejb.jee.sun.SunApplicationClient) QName(javax.xml.namespace.QName) StubProperty(org.apache.openejb.jee.sun.StubProperty) TreeMap(java.util.TreeMap) SunApplicationClient(org.apache.openejb.jee.sun.SunApplicationClient) PortComponentRef(org.apache.openejb.jee.PortComponentRef) ResourceRef(org.apache.openejb.jee.sun.ResourceRef) ServiceRef(org.apache.openejb.jee.ServiceRef)

Aggregations

TreeMap (java.util.TreeMap)1 QName (javax.xml.namespace.QName)1 ApplicationClient (org.apache.openejb.jee.ApplicationClient)1 JndiReference (org.apache.openejb.jee.JndiReference)1 PortComponentRef (org.apache.openejb.jee.PortComponentRef)1 ServiceRef (org.apache.openejb.jee.ServiceRef)1 EjbRef (org.apache.openejb.jee.sun.EjbRef)1 MessageDestinationRef (org.apache.openejb.jee.sun.MessageDestinationRef)1 PortInfo (org.apache.openejb.jee.sun.PortInfo)1 ResourceEnvRef (org.apache.openejb.jee.sun.ResourceEnvRef)1 ResourceRef (org.apache.openejb.jee.sun.ResourceRef)1 StubProperty (org.apache.openejb.jee.sun.StubProperty)1 SunApplicationClient (org.apache.openejb.jee.sun.SunApplicationClient)1 WsdlPort (org.apache.openejb.jee.sun.WsdlPort)1