blob: 82616b81ec5493b4da78a476afb39f3107325254 [file] [log] [blame]
/*******************************************************************************
* 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;
}
}