diff options
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee')
8 files changed, 0 insertions, 842 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/ConnectorComponentExportDataModelProvider.java b/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/ConnectorComponentExportDataModelProvider.java deleted file mode 100644 index 60d9e89d7..000000000 --- a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/ConnectorComponentExportDataModelProvider.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 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.jca.operations; - -import org.eclipse.jst.j2ee.application.internal.operations.J2EEComponentExportDataModelProvider; -import org.eclipse.jst.j2ee.internal.archive.operations.JavaEEComponentExportOperation; -import org.eclipse.jst.j2ee.internal.earcreation.EARCreationResourceHandler; -import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants; -import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities; -import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation; - -public class ConnectorComponentExportDataModelProvider extends J2EEComponentExportDataModelProvider { - - public ConnectorComponentExportDataModelProvider() { - super(); - } - - @Override - public IDataModelOperation getDefaultOperation() { - return new JavaEEComponentExportOperation(model); - } - - @Override - protected String getProjectType() { - return J2EEProjectUtilities.JCA; - } - - @Override - protected String getWrongComponentTypeString(String projectName) { - return EARCreationResourceHandler.getString(EARCreationResourceHandler.NOT_A_RAR, new Object[]{projectName}); - } - - @Override - protected String getModuleExtension() { - return IJ2EEModuleConstants.RAR_EXT; - } - /** - * Exports the specified Connector Module project to the specified Connector RAR file. - * - * @param connectorProjectName - * The name of the Connector Module project to export. - * @param rarFileName - * The fully qualified Connector RAR file location to export the specified Connector - * Module project. - * @param overwriteExisting - * If this is <code>true</code> then an existing file at the location specified by - * <code>earFileName</code> will be overwritten. - * @param exportSource - * If this is <code>true</code> then all source files in the specified Connector - * Module will be included in the resulting Connector RAR file. - * @plannedfor WTP 1.0 - */ -// public static void exportProject(String connectorProjectName, String rarFileName, boolean overwriteExisting, boolean exportSource) { -// ConnectorModuleExportDataModel dataModel = new ConnectorModuleExportDataModel(); -// dataModel.setProperty(PROJECT_NAME, connectorProjectName); -// dataModel.setBooleanProperty(OVERWRITE_EXISTING, overwriteExisting); -// dataModel.setProperty(ARCHIVE_DESTINATION, rarFileName); -// dataModel.setBooleanProperty(EXPORT_SOURCE_FILES, exportSource); -// try { -// dataModel.getDefaultOperation().run(null); -// } catch (InvocationTargetException e) { -// Logger.getLogger().logError(e); -// } catch (InterruptedException e) { -// Logger.getLogger().logError(e); -// } -// } -} diff --git a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/ConnectorComponentImportDataModelProvider.java b/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/ConnectorComponentImportDataModelProvider.java deleted file mode 100644 index c30df46aa..000000000 --- a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/ConnectorComponentImportDataModelProvider.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 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.jca.operations; - -import org.eclipse.jst.j2ee.application.internal.operations.J2EEComponentImportDataModelProvider; -import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil; -import org.eclipse.jst.j2ee.internal.common.XMLResource; -import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities; -import org.eclipse.jst.j2ee.jca.project.facet.ConnectorFacetProjectCreationDataModelProvider; -import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants; -import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetInstallDataModelProperties; -import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties; -import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties; -import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties.FacetDataModelMap; -import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; -import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation; - -/** - * This dataModel is used for to import Connector Modules (from RAR files) into the workspace. - * - * This class (and all its fields and methods) is likely to change during the WTP 1.0 milestones as - * the new project structures are adopted. Use at your own risk. - * - * @plannedfor WTP 1.0 - */ -public final class ConnectorComponentImportDataModelProvider extends J2EEComponentImportDataModelProvider { - - @Override - public void init() { - super.init(); - //setIntProperty(IConnectorComponentCreationDataModelProperties.COMPONENT_VERSION, J2EEVersionConstants.J2EE_1_3_ID); - IDataModel componentCreationDM = model.getNestedModel(NESTED_MODEL_J2EE_COMPONENT_CREATION); - FacetDataModelMap map = (FacetDataModelMap) componentCreationDM.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP); - IDataModel connectorFacet = map.getFacetDataModel( IJ2EEFacetConstants.JCA ); - connectorFacet.setBooleanProperty(IJ2EEFacetInstallDataModelProperties.GENERATE_DD, false); - } - - @Override - protected int getType() { - return XMLResource.RAR_TYPE; - } - - @Override - protected IDataModel createJ2EEComponentCreationDataModel() { - return DataModelFactory.createDataModel(new ConnectorFacetProjectCreationDataModelProvider()); - } - - @Override - public IDataModelOperation getDefaultOperation() { - return new ConnectorComponentImportOperation(model); - } - - @Override - public boolean propertySet(String propertyName, Object propertyValue) { - boolean set = super.propertySet(propertyName, propertyValue); - if (propertyName.equals(ARCHIVE_WRAPPER)) { - IDataModel moduleDM = model.getNestedModel(NESTED_MODEL_J2EE_COMPONENT_CREATION); - if (getArchiveWrapper() != null) { - FacetDataModelMap map = (FacetDataModelMap) moduleDM.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP); - IDataModel jcaFacetDataModel = map.getFacetDataModel( J2EEProjectUtilities.JCA ); - - int version = getModuleSpecVersion(); - String versionText = J2EEVersionUtil.getJCATextVersion( version ); - jcaFacetDataModel.setStringProperty(IFacetDataModelProperties.FACET_VERSION_STR, versionText); - model.notifyPropertyChange(PROJECT_NAME, IDataModel.VALID_VALUES_CHG); - } - } - return set; - } -} diff --git a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/ConnectorComponentImportOperation.java b/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/ConnectorComponentImportOperation.java deleted file mode 100644 index 241a0b2ac..000000000 --- a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/ConnectorComponentImportOperation.java +++ /dev/null @@ -1,111 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 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.jca.operations; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jem.util.logger.proxy.Logger; -import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentImportDataModelProperties; -import org.eclipse.jst.j2ee.internal.archive.ComponentArchiveSaveAdapter; -import org.eclipse.jst.j2ee.internal.archive.ConnectorComponentArchiveSaveAdapter; -import org.eclipse.jst.j2ee.internal.archive.operations.J2EEArtifactImportOperation; -import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants; -import org.eclipse.jst.jee.archive.IArchive; -import org.eclipse.jst.jee.archive.IArchiveResource; -import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; -import org.eclipse.wst.common.componentcore.resources.IVirtualFile; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; - -public class ConnectorComponentImportOperation extends J2EEArtifactImportOperation { - - public ConnectorComponentImportOperation(IDataModel model) { - super(model); - } - - @Override - protected void doExecute(IProgressMonitor monitor) throws ExecutionException { - super.doExecute(monitor); - addAssociateArchivesToClassPath(); - } - - /** - * Adds all jar within the file to the classpath. - */ - protected void addAssociateArchivesToClassPath() { - List <IClasspathEntry> extraEntries = new ArrayList <IClasspathEntry> (); - - List <IArchiveResource> archiveResources = ((IArchive)archiveWrapper.getUnderLyingArchive()).getArchiveResources(); - IVirtualFile vFile = null; - IFile file = null; - for(IArchiveResource archiveResource : archiveResources){ - if(archiveResource.getPath().lastSegment().endsWith(IJ2EEModuleConstants.JAR_EXT)){ - vFile = virtualComponent.getRootFolder().getFile(archiveResource.getPath()); - if (vFile.exists()) { - file = vFile.getUnderlyingFile(); - extraEntries.add(JavaCore.newLibraryEntry(file.getFullPath(), file.getFullPath(), null, true)); - } - } - } - try { - addToClasspath(getDataModel(), extraEntries); - } catch (JavaModelException e) { - Logger.getLogger().logError(e); - } - } - - protected static void addToClasspath(IDataModel importModel, List extraEntries) throws JavaModelException { - if (extraEntries.size() > 0) { - IJavaProject javaProject = JavaCore.create(((IVirtualComponent) importModel.getProperty(IJ2EEComponentImportDataModelProperties.COMPONENT)).getProject()); - addToClasspath(extraEntries, javaProject); - } - } - - protected static void addToClasspath(List extraEntries, IJavaProject javaProject) throws JavaModelException { - if (extraEntries.size() > 0) { - IClasspathEntry[] javaClasspath = javaProject.getRawClasspath(); - List nonDuplicateList = new ArrayList(); - for (int i = 0; i < extraEntries.size(); i++) { - IClasspathEntry extraEntry = (IClasspathEntry) extraEntries.get(i); - boolean include = true; - for (int j = 0; include && j < javaClasspath.length; j++) { - if (extraEntry.equals(javaClasspath[j])) { - include = false; - } - } - if (include) { - nonDuplicateList.add(extraEntry); - } - } - if (nonDuplicateList.size() > 0) { - IClasspathEntry[] newJavaClasspath = new IClasspathEntry[javaClasspath.length + nonDuplicateList.size()]; - System.arraycopy(javaClasspath, 0, newJavaClasspath, 0, javaClasspath.length); - for (int j = 0; j < nonDuplicateList.size(); j++) { - newJavaClasspath[javaClasspath.length + j] = (IClasspathEntry) nonDuplicateList.get(j); - } - javaProject.setRawClasspath(newJavaClasspath, new NullProgressMonitor()); - } - } - } - - @Override - protected ComponentArchiveSaveAdapter getArchiveSaveAdapter(IVirtualComponent virtualComponent){ - return new ConnectorComponentArchiveSaveAdapter(virtualComponent); - } -} diff --git a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/IConnectorComponentExportDataModelProperties.java b/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/IConnectorComponentExportDataModelProperties.java deleted file mode 100644 index fc5a54a17..000000000 --- a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/IConnectorComponentExportDataModelProperties.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 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.jca.operations; - -import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentExportDataModelProperties; -/** - * <p> - * IConnectorComponentExportDataModel provides properties to the IDataModel associated with the - * ConnectorComponentExportDataModelProvider.\ - * NOTE: The associated Provider and Operations will be created during M5 - * </p> - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * - * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider - * @see org.eclipse.wst.common.frameworks.datamodel.DataModelFactory - * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties - * - * @plannedfor 1.0 - */ -public interface IConnectorComponentExportDataModelProperties extends IJ2EEComponentExportDataModelProperties { - -} diff --git a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/IConnectorComponentImportDataModelProperties.java b/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/IConnectorComponentImportDataModelProperties.java deleted file mode 100644 index f1728462c..000000000 --- a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/internal/jca/operations/IConnectorComponentImportDataModelProperties.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 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.jca.operations; - -import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEModuleImportDataModelProperties; -/** - * <p> - * IConnectorComponentImportDataModelProperties provides properties to the IDataModel associated with the - * ConnectorComponentImportDataModelProvider. - * NOTE: The associated Provider and Operations will be created during M5 - * </p> - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * - * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider - * @see org.eclipse.wst.common.frameworks.datamodel.DataModelFactory - * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties - * - * @plannedfor 1.0 - */ -public interface IConnectorComponentImportDataModelProperties extends IJ2EEModuleImportDataModelProperties { - -} diff --git a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/jca/internal/module/util/ConnectorEditAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/jca/internal/module/util/ConnectorEditAdapterFactory.java deleted file mode 100644 index 844da04e7..000000000 --- a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/jca/internal/module/util/ConnectorEditAdapterFactory.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 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.jca.internal.module.util; - -import org.eclipse.core.runtime.IAdapterFactory; -import org.eclipse.jst.j2ee.jca.modulecore.util.ConnectorArtifactEdit; -import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities; -import org.eclipse.wst.common.componentcore.ArtifactEdit; -import org.eclipse.wst.common.componentcore.internal.ArtifactEditModel; - -public class ConnectorEditAdapterFactory implements IAdapterFactory { - - /* - * (non-Javadoc) - * - * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) - */ - public Object getAdapter(Object adaptableObject, Class adapterType) { - if (adapterType == ConnectorArtifactEdit.ADAPTER_TYPE || adapterType == ArtifactEdit.ADAPTER_TYPE) { - ArtifactEditModel editModel = (ArtifactEditModel) adaptableObject; - if (JavaEEProjectUtilities.isJCAProject(editModel.getProject())) - return new ConnectorArtifactEdit((ArtifactEditModel) adaptableObject); - } - return null; - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList() - */ - public Class[] getAdapterList() { - return new Class[]{ArtifactEdit.class, ConnectorEditAdapterFactory.class}; - } - - -} diff --git a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/jca/modulecore/util/ConnectorArtifactEdit.java b/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/jca/modulecore/util/ConnectorArtifactEdit.java deleted file mode 100644 index 0d599d51a..000000000 --- a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/jca/modulecore/util/ConnectorArtifactEdit.java +++ /dev/null @@ -1,449 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2007 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.jca.modulecore.util; - -import java.util.List; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive; -import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory; -import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException; -import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit; -import org.eclipse.jst.j2ee.internal.J2EEConstants; -import org.eclipse.jst.j2ee.internal.common.XMLResource; -import org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentHelper; -import org.eclipse.jst.j2ee.internal.jca.archive.operations.ConnectorComponentLoadStrategyImpl; -import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities; -import org.eclipse.jst.j2ee.jca.Connector; -import org.eclipse.jst.j2ee.jca.ConnectorResource; -import org.eclipse.jst.j2ee.jca.JcaFactory; -import org.eclipse.jst.j2ee.model.IModelProvider; -import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities; -import org.eclipse.wst.common.componentcore.ArtifactEdit; -import org.eclipse.wst.common.componentcore.ComponentCore; -import org.eclipse.wst.common.componentcore.ModuleCoreNature; -import org.eclipse.wst.common.componentcore.UnresolveableURIException; -import org.eclipse.wst.common.componentcore.internal.ArtifactEditModel; -import org.eclipse.wst.common.componentcore.internal.BinaryComponentHelper; -import org.eclipse.wst.common.componentcore.internal.StructureEdit; -import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil; -import org.eclipse.wst.common.componentcore.internal.util.IArtifactEditFactory; -import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; - -/** - * Provides access to J2EE Connector models using the ArtifactEdit pattern. - * <p> - * Clients should use getConnectorArtifactForRead/Write() to acquire an instance of the correct - * artifact edit class. - * </p> - */ -public class ConnectorArtifactEdit extends EnterpriseArtifactEdit implements IArtifactEditFactory { - - private static final String CONNECTOR_CONTENT_TYPE = "org.eclipse.jst.j2ee.connectorDD"; //$NON-NLS-1$ - - /** - * <p> - * Identifier used to link ConnectorArtifactEdit to a ConnectorEditAdapterFactory - * {@see ConnectorEditAdapterFactory} stored in an AdapterManger (@see AdapterManager) - * </p> - */ - - public static final Class ADAPTER_TYPE = ConnectorArtifactEdit.class; - - /** - * - */ - public ConnectorArtifactEdit() { - super(); - } - - public ConnectorArtifactEdit(IVirtualComponent aModule) { - super(aModule); - } - - @Override - protected BinaryComponentHelper initBinaryComponentHelper(IVirtualComponent binaryModule) { - return new JavaEEBinaryComponentHelper(binaryModule); - } - - /** - * @param aHandle - * @param toAccessAsReadOnly - * @throws IllegalArgumentException - */ - public ConnectorArtifactEdit(IProject aProject, boolean toAccessAsReadOnly) throws IllegalArgumentException { - super(aProject, toAccessAsReadOnly); - } - - public ConnectorArtifactEdit(IProject aProject, boolean toAccessAsReadOnly, boolean forCreate) throws IllegalArgumentException { - super(aProject, toAccessAsReadOnly, forCreate, J2EEProjectUtilities.JCA); - } - - /** - * <p> - * Creates an instance facade for the given {@see ArtifactEditModel}. - * </p> - * - * @param anArtifactEditModel - */ - - public ConnectorArtifactEdit(ArtifactEditModel anArtifactEditModel) { - super(anArtifactEditModel); - } - - /** - * <p> - * Creates an instance facade for the given {@see ArtifactEditModel} - * </p> - * <p> - * Note: This method is for internal use only. Clients should not call this method. - * </p> - * - * @param aNature - * A non-null {@see ModuleCoreNature}for an accessible project - * @param aModule - * A non-null {@see WorkbenchComponent}pointing to a module from the given - * {@see ModuleCoreNature} - */ - - protected ConnectorArtifactEdit(ModuleCoreNature aNature, IVirtualComponent aModule, boolean toAccessAsReadOnly) { - super(aNature, aModule, toAccessAsReadOnly); - } - - /** - * @return ConnectorResource from (@link getDeploymentDescriptorResource()) - */ - - public ConnectorResource getConnectorXmiResource() { - return (ConnectorResource) getDeploymentDescriptorResource(); - } - - /** - * <p> - * Retrieves the underlying resource from the ArtifactEditModel using defined URI. - * </p> - * - * @return Resource - */ - - @Override - public Resource getDeploymentDescriptorResource() { - if (isBinary()) { - return getBinaryComponentHelper().getResource(J2EEConstants.RAR_DD_URI_OBJ); - } - return getArtifactEditModel().getResource(J2EEConstants.RAR_DD_URI_OBJ); - } - - /** - * <p> - * Obtains the Connector (@see Connector) root object from the ConnectorResource. If the root - * object does not exist, then one is created (@link - * addConnectorIfNecessary(getConnectorXmiResource())). The root object contains all other - * resource defined objects. - * </p> - * - * @return EObject - */ - @Override - public EObject getDeploymentDescriptorRoot() { - List contents = getDeploymentDescriptorResource().getContents(); - if (contents.size() > 0) - return (EObject) contents.get(0); - if (isBinary()) { - return null; - } - addConnectorIfNecessary(getConnectorXmiResource()); - return (EObject) contents.get(0); - } - - /** - * <p> - * Creates a deployment descriptor root object (Connector) and populates with data. Adds the - * root object to the deployment descriptor resource. - * </p> - * <p> - * - * @param aModule - * A non-null pointing to a {@see XMLResource} Note: This method is typically used - * for JUNIT - move? - * </p> - */ - protected void addConnectorIfNecessary(XMLResource aResource) { - if (isBinary()) { - throwAttemptedBinaryEditModelAccess(); - } - if (aResource != null && aResource.getContents().isEmpty()) { - Connector connector = JcaFactory.eINSTANCE.createConnector(); - aResource.getContents().add(connector); - URI moduleURI = getArtifactEditModel().getModuleURI(); - try { - connector.setDisplayName(StructureEdit.getDeployedName(moduleURI)); - } catch (UnresolveableURIException e) { - // Ignore - } - aResource.setID(connector, J2EEConstants.CONNECTOR_ID); - // TODO add more mandatory elements - } - } - - /** - * <p> - * Returns an instance facade to manage the underlying edit model for the given - * {@see WorkbenchComponent}. Instances of ArtifactEdit that are returned through this method - * must be {@see #dispose()}ed of when no longer in use. - * </p> - * <p> - * Use to acquire an ArtifactEdit facade for a specific {@see WorkbenchComponent} that - * will not be used for editing. Invocations of any save*() API on an instance returned from - * this method will throw exceptions. - * </p> - * <p> - * <b>The following method may return null. </b> - * </p> - * - * @param aModule - * A valid {@see WorkbenchComponent} with a handle that resolves to an - * accessible project in the workspace - * @return An instance of ArtifactEdit that may only be used to read the underlying content - * model - */ - public static ConnectorArtifactEdit getConnectorArtifactEditForRead(IProject aProject) { - ConnectorArtifactEdit artifactEdit = null; - try { - if (isValidConnectorModule(ComponentCore.createComponent(aProject))) - artifactEdit = new ConnectorArtifactEdit(aProject, true, false); - } catch (Exception e) { - artifactEdit = null; - } - return artifactEdit; - } - - /** - * <p> - * Returns an instance facade to manage the underlying edit model for the given - * {@see WorkbenchComponent}. Instances of ArtifactEdit that are returned through this method - * must be {@see #dispose()}ed of when no longer in use. - * </p> - * <p> - * Use to acquire an ArtifactEdit facade for a specific {@see WorkbenchComponent} that - * will be used for editing. - * </p> - * <p> - * <b>The following method may return null. </b> - * </p> - * - * @param aModule - * A valid {@see WorkbenchComponent} with a handle that resolves to an - * accessible project in the workspace - * @return An instance of ArtifactEdit that may be used to modify and persist changes to the - * underlying content model - */ - public static ConnectorArtifactEdit getConnectorArtifactEditForWrite(IProject aProject) { - ConnectorArtifactEdit artifactEdit = null; - try { - if (isValidConnectorModule(ComponentCore.createComponent(aProject))) - artifactEdit = new ConnectorArtifactEdit(aProject, false, false); - } catch (Exception e) { - artifactEdit = null; - } - return artifactEdit; - } - - /** - * <p> - * Returns an instance facade to manage the underlying edit model for the given - * {@see WorkbenchComponent}. Instances of ConnectorArtifactEdit that are returned through this - * method must be {@see #dispose()}ed of when no longer in use. - * </p> - * <p> - * Use to acquire an ConnectorArtifactEdit facade for a specific {@see WorkbenchComponent} that - * will not be used for editing. Invocations of any save*() API on an instance returned from - * this method will throw exceptions. - * </p> - * <p> - * <b>This method may return null. </b> - * </p> - * <p> - * Note: This method is for internal use only. Clients should not call this method. - * </p> - * - * @param aModule - * A valid {@see WorkbenchComponent} with a handle that resolves to an - * accessible project in the workspace - * @return An instance of ConnectorArtifactEdit that may only be used to read the underlying - * content model - * @throws UnresolveableURIException - * could not resolve uri. - */ - public static ConnectorArtifactEdit getConnectorArtifactEditForRead(IVirtualComponent aModule) { - if (aModule == null) - return null; - if (aModule.isBinary()) { - return new ConnectorArtifactEdit(aModule); - } - return getConnectorArtifactEditForRead(aModule.getProject()); - } - - /** - * <p> - * Returns an instance facade to manage the underlying edit model for the given - * {@see WorkbenchComponent}. Instances of ConnectorArtifactEdit that are returned through this - * method must be {@see #dispose()}ed of when no longer in use. - * </p> - * <p> - * Use to acquire an ConnectorArtifactEdit facade for a specific {@see WorkbenchComponent} that - * will be used for editing. - * </p> - * <p> - * <b>This method may return null. </b> - * </p> - * <p> - * Note: This method is for internal use only. Clients should not call this method. - * </p> - * - * @param aModule - * A valid {@see WorkbenchComponent} with a handle that resolves to an - * accessible project in the workspace - * @return An instance of ConnectorArtifactEdit that may be used to modify and persist changes - * to the underlying content model - */ - public static ConnectorArtifactEdit getConnectorArtifactEditForWrite(IVirtualComponent aModule) { - if (aModule == null || aModule.isBinary()) - return null; - return getConnectorArtifactEditForWrite(aModule.getProject()); - } - - /** - * @param module - * A {@see WorkbenchComponent} - * @return True if the supplied module - * {@see ArtifactEdit#isValidEditableModule(WorkbenchComponent)}and the moduleTypeId is - * a JST module - */ - public static boolean isValidConnectorModule(IVirtualComponent aModule) throws UnresolveableURIException { - if (!isValidEditableModule(aModule)) - return false; - /* and match the JST_Connector_MODULE type */ - return JavaEEProjectUtilities.isJCAProject(aModule.getProject()); - } - - /** - * <p> - * Retrieves J2EE version information from ConnectorResource. - * </p> - * - * @return an integer representation of a J2EE Spec version - */ - - @Override - public int getJ2EEVersion() { - return getConnectorXmiResource().getJ2EEVersionID(); - } - - /** - * @return Connector from (@link getDeploymentDescriptorRoot()) - */ - public Connector getConnector() { - return (Connector) getDeploymentDescriptorRoot(); - } - - @Override - public EObject createModelRoot() { - if (isBinary()) { - throwAttemptedBinaryEditModelAccess(); - } - return createModelRoot(getJ2EEVersion()); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jst.j2ee.internal.modulecore.util.EnterpriseArtifactEdit#createModelRoot(java.lang.Integer) - */ - @Override - public EObject createModelRoot(int version) { - if (isBinary()) { - throwAttemptedBinaryEditModelAccess(); - } - ConnectorResource res = (ConnectorResource) getDeploymentDescriptorResource(); - res.setModuleVersionID(version); - addConnectorIfNecessary(res); - return ((ConnectorResource) getDeploymentDescriptorResource()).getRootObject(); - } - - public ArtifactEdit createArtifactEditForRead(IVirtualComponent aComponent) { - return getConnectorArtifactEditForRead(aComponent); - } - - public ArtifactEdit createArtifactEditForWrite(IVirtualComponent aComponent) { - return getConnectorArtifactEditForWrite(aComponent); - } - - @Override - public Archive asArchive(boolean includeSource, boolean includeClasspathComponents) throws OpenFailureException { - if (isBinary()) { - JavaEEBinaryComponentHelper helper = (JavaEEBinaryComponentHelper)getBinaryComponentHelper(); - return helper.accessLegacyArchive(); - } - ConnectorComponentLoadStrategyImpl loader = new ConnectorComponentLoadStrategyImpl(getComponent(), includeClasspathComponents); - loader.setExportSource(includeSource); - String uri = ModuleURIUtil.getHandleString(getComponent()); - return CommonarchiveFactory.eINSTANCE.openRARFile(loader, uri); - } - - public static void createDeploymentDescriptor(IProject project, int version) { - ConnectorArtifactEdit jcaEdit = new ConnectorArtifactEdit(project, false, true); - try { - jcaEdit.createModelRoot(version); - jcaEdit.save(null); - } finally { - jcaEdit.dispose(); - } - } - @Override - public IModelProvider create(IProject project) { - return getConnectorArtifactEditForRead(project); - } - - @Override - public IModelProvider create(IVirtualComponent component) { - return getConnectorArtifactEditForRead(component); - } - @Override - public void modify(Runnable runnable, IPath modelPath) { - setWritableEdit(getConnectorArtifactEditForWrite(getProject())); - try{ - runnable.run(); - if( getWritableEdit() != null ){ - // Always save regardless of resource path passed - Artifactedits save resources as a unit - getWritableEdit().saveIfNecessary( new NullProgressMonitor() ); - } - - } finally { //Properly dispose the write artifact edit - getWritableEdit().dispose(); - setWritableEdit(null); - } - } - - @Override - protected String getContentTypeDescriber() { - return CONNECTOR_CONTENT_TYPE; - } - @Override - protected URI getRootURI() { - return J2EEConstants.RAR_DD_URI_OBJ; - } -} diff --git a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/jca/modulecore/util/package.xml b/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/jca/modulecore/util/package.xml deleted file mode 100644 index b428bb6eb..000000000 --- a/plugins/org.eclipse.jst.j2ee.jca/rarproject/org/eclipse/jst/j2ee/jca/modulecore/util/package.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html> - <head> - <meta - name="root" - content="../../../../../../../" /> - <title>WebArtifactEdit api overview</title> - </head> - - <body> - <abstract> - This package includes the ConnectorArtifactEdit api. This api is used to work with the emf model - of a flexible connector module. It contains api to read and serialize out the emf model for connector modules. - </abstract> - - <a href="#top">top</a> - </body> -</html> -
\ No newline at end of file |