diff options
author | pfullbright | 2007-09-11 17:34:20 +0000 |
---|---|---|
committer | pfullbright | 2007-09-11 17:34:20 +0000 |
commit | 6105503336cdd58f69d1fbf4190a887b4aa0e052 (patch) | |
tree | 53fd9b89e9550530621ae96c085989c85c38909f /jpa | |
parent | 07db5dcded8b690bf600a8eba0b2ad5bb521df13 (diff) | |
download | webtools.dali-6105503336cdd58f69d1fbf4190a887b4aa0e052.tar.gz webtools.dali-6105503336cdd58f69d1fbf4190a887b4aa0e052.tar.xz webtools.dali-6105503336cdd58f69d1fbf4190a887b4aa0e052.zip |
fix for bug 202684
Diffstat (limited to 'jpa')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/facet/JpaFacetPostInstallDelegate.java | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/facet/JpaFacetPostInstallDelegate.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/facet/JpaFacetPostInstallDelegate.java index bf34d2fc5f..7d81a4802f 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/facet/JpaFacetPostInstallDelegate.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/facet/JpaFacetPostInstallDelegate.java @@ -12,6 +12,7 @@ import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jpt.core.internal.JpaModelManager; +import org.eclipse.jpt.core.internal.JptCorePlugin; import org.eclipse.jpt.core.internal.content.orm.EntityMappingsInternal; import org.eclipse.jpt.core.internal.content.orm.OrmFactory; import org.eclipse.jpt.core.internal.content.orm.OrmResource; @@ -21,13 +22,18 @@ import org.eclipse.jpt.core.internal.content.persistence.PersistenceFactory; import org.eclipse.jpt.core.internal.content.persistence.PersistenceUnit; import org.eclipse.jpt.core.internal.content.persistence.resource.PersistenceArtifactEdit; import org.eclipse.jpt.core.internal.content.persistence.resource.PersistenceResource; +import org.eclipse.jst.j2ee.internal.J2EEConstants; +import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants; import org.eclipse.wst.common.frameworks.datamodel.IDataModel; +import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework; import org.eclipse.wst.common.project.facet.core.IDelegate; import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion; public class JpaFacetPostInstallDelegate implements IDelegate, IJpaFacetDataModelProperties { + private final static String WEB_PROJECT_DEPLOY_PREFIX = J2EEConstants.WEB_INF_CLASSES; + private final static String PERSISTENCE_XML_FILE_PATH = "META-INF/persistence.xml"; private final static String ORM_XML_FILE_PATH = "META-INF/orm.xml"; @@ -64,8 +70,19 @@ public class JpaFacetPostInstallDelegate } private void createPersistenceXml(IProject project, IDataModel dataModel) { + String deployPath = PERSISTENCE_XML_FILE_PATH; + try { + if (FacetedProjectFramework.hasProjectFacet(project, IModuleConstants.JST_WEB_MODULE)) { + deployPath = WEB_PROJECT_DEPLOY_PREFIX + "/" + deployPath; + } + } + catch (CoreException ce) { + // could not determine project facets. assume it doesn't have the facet. + JptCorePlugin.log(ce); + } + PersistenceArtifactEdit pae = - PersistenceArtifactEdit.getArtifactEditForWrite(project, PERSISTENCE_XML_FILE_PATH); + PersistenceArtifactEdit.getArtifactEditForWrite(project, deployPath); PersistenceResource resource = pae.getPersistenceResource(); Persistence persistence = PersistenceFactory.eINSTANCE.createPersistence(); persistence.setVersion("1.0"); @@ -78,8 +95,19 @@ public class JpaFacetPostInstallDelegate } private void createOrmXml(IProject project, IDataModel dataModel) { + String deployPath = ORM_XML_FILE_PATH; + try { + if (FacetedProjectFramework.hasProjectFacet(project, IModuleConstants.JST_WEB_MODULE)) { + deployPath = WEB_PROJECT_DEPLOY_PREFIX + "/" + deployPath; + } + } + catch (CoreException ce) { + // could not determine project facets. assume it doesn't have the facet. + JptCorePlugin.log(ce); + } + OrmArtifactEdit oae = - OrmArtifactEdit.getArtifactEditForWrite(project, ORM_XML_FILE_PATH); + OrmArtifactEdit.getArtifactEditForWrite(project, deployPath); OrmResource resource = oae.getOrmResource(); EntityMappingsInternal entityMappings = OrmFactory.eINSTANCE.createEntityMappingsInternal(); entityMappings.setVersion("1.0"); |