Author: akazakov
Date: 2008-07-09 14:36:25 -0400 (Wed, 09 Jul 2008)
New Revision: 9111
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamConversationWizard.java
trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/Seam20WARNewOperationTest.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-2489 Fixed for seam-gen 2.0.1 and higher
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamConversationWizard.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamConversationWizard.java 2008-07-09
17:31:16 UTC (rev 9110)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamConversationWizard.java 2008-07-09
18:36:25 UTC (rev 9111)
@@ -67,9 +67,13 @@
static {
// initialize war files mapping
+
+ // seam-gen uses @interfaceName@ as class name since 2.0.1
+ // but seam-gen 2.0.0 uses @beanName@ (it's a bug of 2.0.0)
+ // So we expect seam-gen 2.0.1 or higher here.
ACTION_MAPPING.add(new FileMapping(
"${" + ISeamFacetDataModelProperties.JBOSS_SEAM_HOME +
"}/seam-gen/src/ConversationJavaBean.java", //$NON-NLS-1$ //$NON-NLS-2$
- "${" + IParameter.SEAM_PROJECT_SRC_ACTION + "}/${" +
ISeamFacetDataModelProperties.SESSION_BEAN_PACKAGE_PATH + "}/${" +
IParameter.SEAM_BEAN_NAME +"}.java", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
+ "${" + IParameter.SEAM_PROJECT_SRC_ACTION + "}/${" +
ISeamFacetDataModelProperties.SESSION_BEAN_PACKAGE_PATH + "}/${" +
IParameter.SEAM_LOCAL_INTERFACE_NAME +"}.java", //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$ //$NON-NLS-4$
FileMapping.TYPE.WAR,
false));
ACTION_MAPPING.add(new FileMapping(
@@ -77,6 +81,7 @@
"${" + IParameter.SEAM_PROJECT_WEBCONTENT_PATH + "}/${" +
IParameter.SEAM_PAGE_NAME +"}.xhtml", //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
FileMapping.TYPE.WAR,
false));
+
// initialize ear files mapping
ACTION_MAPPING.add(new FileMapping(
"${" + ISeamFacetDataModelProperties.JBOSS_SEAM_HOME +
"}/seam-gen/src/ConversationBean.java", //$NON-NLS-1$ //$NON-NLS-2$
Modified:
trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/Seam20WARNewOperationTest.java
===================================================================
---
trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/Seam20WARNewOperationTest.java 2008-07-09
17:31:16 UTC (rev 9110)
+++
trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/Seam20WARNewOperationTest.java 2008-07-09
18:36:25 UTC (rev 9111)
@@ -12,35 +12,39 @@
import java.io.File;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.wst.common.project.facet.core.IProjectFacet;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.jboss.tools.seam.core.SeamCorePlugin;
+import org.jboss.tools.seam.core.SeamProjectsSet;
import org.jboss.tools.seam.core.project.facet.SeamRuntimeManager;
import org.jboss.tools.seam.core.project.facet.SeamVersion;
+import org.jboss.tools.seam.ui.wizard.IParameter;
public class Seam20WARNewOperationTest extends Seam12WARNewOperationTest {
-
+
private IProjectFacet seam2Facet;
private IProjectFacetVersion seam2FacetVersion;
public Seam20WARNewOperationTest(String name) {
super(name);
- // TODO Auto-generated constructor stub
}
@Override
protected void setUp() throws Exception {
assertSeamHomeAvailable();
-
+
seam2Facet = ProjectFacetsManager.getProjectFacet("jst.seam");
seam2FacetVersion = seam2Facet.getVersion("2.0");
-
-
+
File folder = getSeamHomeFolder();
-
+
SeamRuntimeManager.getInstance().addRuntime(SEAM_2_0_0, folder.getAbsolutePath(),
SeamVersion.SEAM_2_0, true);
SeamRuntimeManager.getInstance().findRuntimeByName(SEAM_2_0_0);
-
+
super.setUp();
}
@@ -48,12 +52,12 @@
void setUpSeamProjects() {
setUpSeamProject(warProject);
}
-
+
@Override
protected String getSeamRTName() {
return AbstractSeamNewOperationTest.SEAM_2_0_0;
}
-
+
@Override
protected File getSeamHomeFolder() {
return new File(System.getProperty(SEAM_2_0_HOME));
@@ -64,4 +68,32 @@
return seam2FacetVersion;
}
-}
+ @Override
+ void assertNewConversationFilesAreCreatedSuccessfully(AdaptableRegistry data) {
+ IEclipsePreferences seamFacetPrefs = SeamCorePlugin.getSeamPreferences(warProject);
+ SeamProjectsSet seamPrjSet = new SeamProjectsSet(warProject);
+
+ String sessionBeanPackagePath =
getPackagePath(getSessionBeanPackageName(seamFacetPrefs));
+
+ IContainer seamProjectSrcActionFolder = seamPrjSet.getActionFolder();
+ IContainer seamProjectWebContentFolder = seamPrjSet.getViewsFolder();
+
+ String seamPageName = data.getValue(IParameter.SEAM_PAGE_NAME);
+ // seam-gen uses @interfaceName@ as class name since 2.0.1
+ // but seam-gen 2.0.0 uses @beanName@ (it's a bug of 2.0.0)
+ // So we expect seam-gen 2.0.1 or higher here.
+ String interfaceName = data.getValue(IParameter.SEAM_LOCAL_INTERFACE_NAME);
+
+ IResource seamBeanJava = seamProjectSrcActionFolder.findMember(
+ sessionBeanPackagePath + "/" + interfaceName + ".java");
+ assertResourceIsCreatedAndHasNoProblems(seamBeanJava,
+ seamProjectSrcActionFolder.toString() + "/" +
+ sessionBeanPackagePath + "/" + interfaceName + ".java");
+
+ IResource seamPageNameXhtml = seamProjectWebContentFolder.findMember(
+ seamPageName + ".xhtml");
+ assertResourceIsCreatedAndHasNoProblems(seamPageNameXhtml,
+ seamProjectWebContentFolder.toString() + "/" +
+ seamPageName + ".xhtml");
+ }
+}
\ No newline at end of file