| /******************************************************************************* |
| * Copyright (c) 2001, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jst.j2ee.internal.model.translator.connector; |
| |
| import org.eclipse.emf.ecore.EStructuralFeature; |
| import org.eclipse.jst.j2ee.common.CommonPackage; |
| import org.eclipse.jst.j2ee.internal.J2EEConstants; |
| import org.eclipse.jst.j2ee.internal.model.translator.common.BooleanTranslator; |
| import org.eclipse.jst.j2ee.internal.model.translator.common.CommonTranslators; |
| import org.eclipse.jst.j2ee.internal.xml.RarDeploymentDescriptorXmlMapperI; |
| import org.eclipse.jst.j2ee.jca.JcaPackage; |
| import org.eclipse.wst.common.internal.emf.resource.ConstantAttributeTranslator; |
| import org.eclipse.wst.common.internal.emf.resource.GenericTranslator; |
| import org.eclipse.wst.common.internal.emf.resource.IDTranslator; |
| import org.eclipse.wst.common.internal.emf.resource.RootTranslator; |
| import org.eclipse.wst.common.internal.emf.resource.Translator; |
| |
| |
| public class ConnectorTranslator extends RootTranslator implements RarDeploymentDescriptorXmlMapperI, J2EEConstants { |
| public static ConnectorTranslator INSTANCE = new ConnectorTranslator(); |
| public static final String CONNECTOR = "connector"; //$NON-NLS-1$ |
| private static JcaPackage CONNECTOR_PKG = JcaPackage.eINSTANCE; |
| private static CommonPackage COMMON_PKG = CommonPackage.eINSTANCE; |
| private static Translator[] children13; |
| private static Translator[] children14; |
| |
| private static final Translator VENDOR_NAME_TRANSLATOR = new Translator(VENDOR_NAME, CONNECTOR_PKG.getConnector_VendorName()); |
| private static final Translator EIS_TYPE_TRANSLATOR = new Translator(EIS_TYPE, CONNECTOR_PKG.getConnector_EisType()); |
| |
| private static final Translator CONFIG_PROPERTY_NAME_TRANSLATOR= new Translator(CONFIG_PROPERTY_NAME, CONNECTOR_PKG.getConfigProperty_Name()); |
| private static final Translator CONFIG_PROPERTY_TYPE_TRANSLATOR= new Translator(CONFIG_PROPERTY_TYPE, CONNECTOR_PKG.getConfigProperty_Type()); |
| private static final Translator CONFIG_PROPERTY_VALUE_TRANSLATOR= new Translator(CONFIG_PROPERTY_VALUE, CONNECTOR_PKG.getConfigProperty_Value()); |
| |
| private static final Translator SECURITY_PERMISSION_SPEC_TRANSLATOR = new Translator(SECURITY_PERMISSION_SPEC, CONNECTOR_PKG.getSecurityPermission_Specification()); |
| |
| private static final Translator AUTH_MECH_TYPE_TRANSLATOR = new Translator(AUTH_MECH_TYPE, CONNECTOR_PKG.getAuthenticationMechanism_AuthenticationMechanismType()); |
| private static final Translator CREDENTIAL_INTERFACE_TRANSLATOR = new Translator(CREDENTIAL_INTERFACE, CONNECTOR_PKG.getAuthenticationMechanism_CredentialInterface()); |
| |
| private static final BooleanTranslator LICENSE_REQUIRED_TRANSLATOR = new BooleanTranslator(LICENSE_REQUIRED, CONNECTOR_PKG.getLicense_Required()); |
| |
| public ConnectorTranslator() { |
| super(CONNECTOR, JcaPackage.eINSTANCE.getConnector()); |
| } |
| |
| /* (non-Javadoc) |
| * @see com.ibm.etools.emf2xml.impl.Translator#getChildren(java.lang.Object, int) |
| */ |
| public Translator[] getChildren(Object o, int versionID) { |
| switch (versionID) { |
| case (J2EE_1_2_ID) : |
| case (J2EE_1_3_ID) : |
| if (children13 == null) |
| children13 = create13Children(); |
| return children13; |
| default : |
| if (children14 == null) |
| children14 = create14Children(); |
| return children14; |
| } |
| } |
| |
| protected Translator[] create13Children() { |
| return new Translator[] { |
| IDTranslator.INSTANCE, |
| new Translator(DISPLAY_NAME, COMMON_PKG.getCompatibilityDescriptionGroup_DisplayName() ), |
| new Translator(DESCRIPTION, COMMON_PKG.getCompatibilityDescriptionGroup_Description()), |
| new Translator(ICON+"/"+SMALL_ICON, COMMON_PKG.getCompatibilityDescriptionGroup_SmallIcon() ), //$NON-NLS-1$ |
| new Translator(ICON+"/"+LARGE_ICON, COMMON_PKG.getCompatibilityDescriptionGroup_LargeIcon() ), //$NON-NLS-1$ |
| VENDOR_NAME_TRANSLATOR, |
| new Translator(SPEC_VERSION, CONNECTOR_PKG.getConnector_SpecVersion() ), |
| EIS_TYPE_TRANSLATOR, |
| new Translator(VERSION, CONNECTOR_PKG.getConnector_Version() ), |
| createLicenseTranslator13(), |
| createResourceAdapterTranslator13() |
| }; |
| } |
| |
| protected Translator[] create14Children() { |
| return new Translator[] { |
| IDTranslator.INSTANCE, |
| new Translator(VERSION, CONNECTOR_PKG.getConnector_SpecVersion(), DOM_ATTRIBUTE), |
| new ConstantAttributeTranslator(XML_NS, J2EE_NS_URL), |
| new ConstantAttributeTranslator(XML_NS_XSI, XSI_NS_URL), |
| new ConstantAttributeTranslator(XSI_SCHEMA_LOCATION, J2EE_NS_URL+' '+CONNECTOR_SCHEMA_LOC_1_5), |
| CommonTranslators.DESCRIPTIONS_TRANSLATOR, |
| CommonTranslators.DISPLAYNAMES_TRANSLATOR, |
| CommonTranslators.ICONS_TRANSLATOR, |
| VENDOR_NAME_TRANSLATOR, |
| EIS_TYPE_TRANSLATOR, |
| new Translator(RESOURCEADAPTER_VERSION, CONNECTOR_PKG.getConnector_Version()), |
| createLicenseTranslator14(), |
| createResourceAdapterTranslator14(), |
| }; |
| } |
| |
| private Translator createResourceAdapterTranslator14() { |
| GenericTranslator result = new GenericTranslator(RESOURCEADAPTER, CONNECTOR_PKG.getConnector_ResourceAdapter()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| new Translator(RESOURCEADAPTER_CLASS,CONNECTOR_PKG.getResourceAdapter_ResourceAdapterClass()), |
| createConfigurationPropertyTranslator14(CONNECTOR_PKG.getResourceAdapter_ConfigProperties()), |
| createOutboundTranslator(), |
| createInboundTranslator(), |
| createAdminObjectTranslator(), |
| createSecurityPermissionsTranslator() |
| }); |
| return result; |
| } |
| |
| private Translator createOutboundTranslator() { |
| GenericTranslator result = new GenericTranslator(OUTBOUND_RESOURCEADAPTER, CONNECTOR_PKG.getResourceAdapter_OutboundResourceAdapter()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| createConnectionDefinationTranslator(), |
| new Translator(TRANSACTION_SUPPORT, CONNECTOR_PKG.getOutboundResourceAdapter_TransactionSupport()), |
| createAuthMechanismTranslator14(CONNECTOR_PKG.getOutboundResourceAdapter_AuthenticationMechanisms()), |
| new BooleanTranslator(REAUTHENTICATION_SUPPORT, CONNECTOR_PKG.getOutboundResourceAdapter_ReauthenticationSupport()), |
| }); |
| return result; |
| } |
| |
| private Translator createInboundTranslator() { |
| GenericTranslator result = new GenericTranslator(INBOUND_RESOURCEADAPTER, CONNECTOR_PKG.getResourceAdapter_InboundResourceAdapter()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| createMessageAdapterTranslator() |
| }); |
| |
| return result; |
| } |
| |
| private Translator createMessageAdapterTranslator() { |
| GenericTranslator result = new GenericTranslator(MESSAGEADAPTER, CONNECTOR_PKG.getInboundResourceAdapter_MessageAdapter()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| createMessageListenerTranslator(), |
| }); |
| |
| return result; |
| } |
| |
| private Translator createMessageListenerTranslator() { |
| GenericTranslator result = new GenericTranslator(MESSAGELISTENER, CONNECTOR_PKG.getMessageAdapter_MessageListeners()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| new Translator(MESSAGELISTENER_TYPE, CONNECTOR_PKG.getMessageListener_MessageListenerType()), |
| createActivationSpecTranslator() |
| }); |
| return result; |
| } |
| |
| private Translator createActivationSpecTranslator() { |
| GenericTranslator result = new GenericTranslator(ACTIVATIONSPEC, CONNECTOR_PKG.getMessageListener_ActivationSpec()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| new Translator(ACTIVATIONSPEC_CLASS, CONNECTOR_PKG.getActivationSpec_ActivationSpecClass()), |
| createRequiredConfigPropertyTranslator() |
| }); |
| return result; |
| } |
| |
| private Translator createRequiredConfigPropertyTranslator() { |
| GenericTranslator result = new GenericTranslator(REQUIRED_CONFIG_PROPERTY, CONNECTOR_PKG.getActivationSpec_RequiredConfigProperties()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| CommonTranslators.createDescriptionTranslator(CONNECTOR_PKG.getRequiredConfigPropertyType_Descriptions()), |
| new Translator(CONFIG_PROPERTY_NAME, CONNECTOR_PKG.getRequiredConfigPropertyType_Name()) |
| }); |
| return result; |
| } |
| |
| private Translator createAdminObjectTranslator() { |
| GenericTranslator result = new GenericTranslator(ADMINOBJECT, CONNECTOR_PKG.getResourceAdapter_AdminObjects()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| new Translator(ADMINOBJECT_INTERFACE, CONNECTOR_PKG.getAdminObject_AdminObjectInterface()), |
| new Translator(ADMINOBJECT_CLASS, CONNECTOR_PKG.getAdminObject_AdminObjectClass()), |
| createConfigurationPropertyTranslator14(CONNECTOR_PKG.getAdminObject_ConfigProperties()) |
| |
| }); |
| return result; |
| } |
| |
| private Translator createConnectionDefinationTranslator() { |
| GenericTranslator result = new GenericTranslator(CONNECTION_DEFINITION, CONNECTOR_PKG.getOutboundResourceAdapter_ConnectionDefinitions()); |
| result.setChildren(new Translator[] { |
| new Translator(MANAGEDCONNECTIONFACTORY_CLASS, CONNECTOR_PKG.getConnectionDefinition_ManagedConnectionFactoryClass()), |
| createConfigurationPropertyTranslator14(CONNECTOR_PKG.getConnectionDefinition_ConfigProperties()), |
| new Translator(CONNECTIONFACTORY_INTERFACE, CONNECTOR_PKG.getConnectionDefinition_ConnectionFactoryInterface()), |
| new Translator(CONNECTIONFACTORY_IMPL_CLASS, CONNECTOR_PKG.getConnectionDefinition_ConnectionFactoryImplClass()), |
| new Translator(CONNECTION_INTERFACE, CONNECTOR_PKG.getConnectionDefinition_ConnectionInterface()), |
| new Translator(CONNECTION_IMPL_CLASS, CONNECTOR_PKG.getConnectionDefinition_ConnectionImplClass()), |
| }); |
| return result; |
| } |
| |
| public Translator createResourceAdapterTranslator13() { |
| GenericTranslator result = new GenericTranslator(RESOURCEADAPTER, CONNECTOR_PKG.getConnector_ResourceAdapter()); |
| result.setChildren(new Translator[] { |
| new Translator(MANAGEDCONNECTIONFACTORY_CLASS, CONNECTOR_PKG.getResourceAdapter_ManagedConnectionFactoryClass() ), |
| new Translator(CONNECTIONFACTORY_INTERFACE, CONNECTOR_PKG.getResourceAdapter_ConnectionFactoryInterface() ), |
| new Translator(CONNECTIONFACTORY_IMPL_CLASS, CONNECTOR_PKG.getResourceAdapter_ConnectionFactoryImplClass() ), |
| new Translator(CONNECTION_INTERFACE, CONNECTOR_PKG.getResourceAdapter_ConnectionInterface()), |
| new Translator(CONNECTION_IMPL_CLASS, CONNECTOR_PKG.getResourceAdapter_ConnectionImplClass()), |
| new Translator(TRANSACTION_SUPPORT, CONNECTOR_PKG.getResourceAdapter_TransactionSupport() ), |
| createConfigurationPropertyTranslator13(CONNECTOR_PKG.getResourceAdapter_ConfigProperties()), |
| createAuthMechanismTranslator13(CONNECTOR_PKG.getResourceAdapter_AuthenticationMechanisms()), |
| new BooleanTranslator(REAUTHENTICATION_SUPPORT, CONNECTOR_PKG.getResourceAdapter_ReauthenticationSupport()), |
| createSecurityPermissionsTranslator() |
| |
| |
| }); |
| return result; |
| } |
| |
| public Translator createSecurityPermissionsTranslator() { |
| GenericTranslator result = new GenericTranslator(SECURITY_PERMISSION, CONNECTOR_PKG.getResourceAdapter_SecurityPermissions()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| new Translator(DESCRIPTION, CONNECTOR_PKG.getSecurityPermission_Description()), |
| SECURITY_PERMISSION_SPEC_TRANSLATOR |
| }); |
| return result; |
| } |
| |
| public Translator createAuthMechanismTranslator13(EStructuralFeature afeature) { |
| GenericTranslator result = new GenericTranslator(AUTH_MECHANISM, afeature); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| new Translator(DESCRIPTION, CONNECTOR_PKG.getAuthenticationMechanism_Description()), |
| AUTH_MECH_TYPE_TRANSLATOR, |
| CREDENTIAL_INTERFACE_TRANSLATOR |
| }); |
| return result; |
| } |
| |
| public Translator createAuthMechanismTranslator14(EStructuralFeature afeature) { |
| GenericTranslator result = new GenericTranslator(AUTH_MECHANISM, afeature); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| CommonTranslators.createDescriptionTranslator(CONNECTOR_PKG.getAuthenticationMechanism_Descriptions()), |
| AUTH_MECH_TYPE_TRANSLATOR, |
| CREDENTIAL_INTERFACE_TRANSLATOR |
| }); |
| return result; |
| } |
| |
| |
| public Translator createConfigurationPropertyTranslator13(EStructuralFeature afeature) { |
| GenericTranslator result = new GenericTranslator(CONFIG_PROPERTY, afeature); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| new Translator(DESCRIPTION, CONNECTOR_PKG.getConfigProperty_Description()), |
| CONFIG_PROPERTY_NAME_TRANSLATOR, |
| CONFIG_PROPERTY_TYPE_TRANSLATOR, |
| CONFIG_PROPERTY_VALUE_TRANSLATOR |
| }); |
| return result; |
| } |
| |
| public Translator createConfigurationPropertyTranslator14(EStructuralFeature afeature) { |
| GenericTranslator result = new GenericTranslator(CONFIG_PROPERTY, afeature); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| CommonTranslators.createDescriptionTranslator(CONNECTOR_PKG.getConfigProperty_Descriptions()), |
| CONFIG_PROPERTY_NAME_TRANSLATOR, |
| CONFIG_PROPERTY_TYPE_TRANSLATOR, |
| CONFIG_PROPERTY_VALUE_TRANSLATOR |
| }); |
| return result; |
| } |
| |
| public Translator createLicenseTranslator13() { |
| GenericTranslator result = new GenericTranslator(LICENSE, CONNECTOR_PKG.getConnector_License()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| new Translator(DESCRIPTION, CONNECTOR_PKG.getLicense_Description()), |
| LICENSE_REQUIRED_TRANSLATOR |
| }); |
| return result; |
| } |
| |
| public Translator createLicenseTranslator14() { |
| GenericTranslator result = new GenericTranslator(LICENSE, CONNECTOR_PKG.getConnector_License()); |
| result.setChildren(new Translator[] { |
| IDTranslator.INSTANCE, |
| CommonTranslators.createDescriptionTranslator(CONNECTOR_PKG.getLicense_Descriptions()), |
| LICENSE_REQUIRED_TRANSLATOR |
| }); |
| return result; |
| } |
| } |