Author: rob.stryker(a)jboss.com
Date: 2011-06-15 05:41:53 -0400 (Wed, 15 Jun 2011)
New Revision: 32118
Added:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockJSTPublisherTestDynUtil.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerListener.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/ASTestSuite.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockJSTPublisherTest.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/wtp/ProjectCreationUtil.java
Log:
/JBIDE-9133 - test to trunk
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java 2011-06-15
09:36:33 UTC (rev 32117)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java 2011-06-15
09:41:53 UTC (rev 32118)
@@ -31,4 +31,9 @@
public void publishStarted(IServer server){}
public void publishFinished(IServer server, IStatus status){}
public void cleanUp(IServer server) {}
+ public boolean canHandleServer(IServer server) {
+ if (!UnitedServerListenerManager.isJBossServer(server))
+ return false;
+ return true;
+ }
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java 2011-06-15
09:36:33 UTC (rev 32117)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java 2011-06-15
09:41:53 UTC (rev 32118)
@@ -48,18 +48,16 @@
ServerCore.addServerLifecycleListener(this);
IServer[] allServers = ServerCore.getServers();
for( int i = 0; i < allServers.length; i++ ) {
- if (isJBossServer(allServers[i])) {
- allServers[i].addServerListener(this);
- allServers[i].addPublishListener(this);
- }
+ allServers[i].addServerListener(this);
+ allServers[i].addPublishListener(this);
}
}
+
public synchronized UnitedServerListener[] getListeners() {
return (UnitedServerListener[]) list.toArray(new UnitedServerListener[list.size()]);
}
-
- private boolean isJBossServer(IServer server) {
+ public static boolean isJBossServer(IServer server) {
if (server == null) {
return false;
}
@@ -97,65 +95,53 @@
}
public void serverAdded(IServer server) {
- if (!isJBossServer(server)) {
- return;
- }
server.addServerListener(this);
server.addPublishListener(this);
UnitedServerListener[] listeners = getListeners();
for( int i = 0; i < listeners.length; i++) {
- listeners[i].serverAdded(server);
+ if( listeners[i].canHandleServer(server))
+ listeners[i].serverAdded(server);
}
}
public void serverChanged(IServer server) {
- if (!isJBossServer(server)) {
- return;
- }
UnitedServerListener[] listeners = getListeners();
for( int i = 0; i < listeners.length; i++) {
- listeners[i].serverChanged(server);
+ if( listeners[i].canHandleServer(server))
+ listeners[i].serverChanged(server);
}
}
public void serverRemoved(IServer server) {
- if (!isJBossServer(server)) {
- return;
- }
server.removeServerListener(this);
server.removePublishListener(this);
UnitedServerListener[] listeners = getListeners();
for( int i = 0; i < listeners.length; i++) {
- listeners[i].serverRemoved(server);
+ if( listeners[i].canHandleServer(server))
+ listeners[i].serverRemoved(server);
}
}
public void serverChanged(ServerEvent event) {
IServer server = event.getServer();
- if (!isJBossServer(server)) {
- return;
- }
UnitedServerListener[] listeners = getListeners();
for( int i = 0; i < listeners.length; i++) {
- listeners[i].serverChanged(event);
+ if( listeners[i].canHandleServer(server))
+ listeners[i].serverChanged(event);
}
}
public void publishStarted(IServer server) {
- if (!isJBossServer(server)) {
- return;
- }
UnitedServerListener[] listeners = getListeners();
for( int i = 0; i < listeners.length; i++) {
- listeners[i].publishStarted(server);
+ if( listeners[i].canHandleServer(server))
+ listeners[i].publishStarted(server);
}
}
public void publishFinished(IServer server, IStatus status) {
- if (!isJBossServer(server)) {
- return;
- }
UnitedServerListener[] listeners = getListeners();
for( int i = 0; i < listeners.length; i++) {
- listeners[i].publishFinished(server, status);
+ if( listeners[i].canHandleServer(server))
+ listeners[i].publishFinished(server, status);
}
}
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerListener.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerListener.java 2011-06-15
09:36:33 UTC (rev 32117)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerListener.java 2011-06-15
09:41:53 UTC (rev 32118)
@@ -15,6 +15,7 @@
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.server.UnitedServerListener;
+import org.jboss.ide.eclipse.as.core.server.UnitedServerListenerManager;
import org.jboss.ide.eclipse.as.core.util.FileUtil;
import org.jboss.ide.eclipse.as.core.util.ServerUtil;
@@ -26,6 +27,10 @@
return instance;
}
+ public boolean canHandleServer(IServer server) {
+ return true;
+ }
+
public void serverAdded(IServer server) {
ServerUtil.createStandardFolders(server);
}
Modified:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/ASTestSuite.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/ASTestSuite.java 2011-06-15
09:36:33 UTC (rev 32117)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/ASTestSuite.java 2011-06-15
09:41:53 UTC (rev 32118)
@@ -35,6 +35,7 @@
import org.jboss.ide.eclipse.as.test.publishing.v2.JSTDeployBinaryChildModuleTest;
import org.jboss.ide.eclipse.as.test.publishing.v2.JSTDeploymentTester;
import org.jboss.ide.eclipse.as.test.publishing.v2.JSTDeploymentWarUpdateXML;
+import org.jboss.ide.eclipse.as.test.publishing.v2.MockJSTPublisherTestDynUtil;
import
org.jboss.ide.eclipse.as.test.publishing.v2.SingleFileDeployableMockDeploymentTester;
import org.jboss.ide.eclipse.as.test.publishing.v2.MockJSTPublisherTest;
import org.jboss.ide.eclipse.as.test.publishing.v2.SingleFileDeploymentTester;
@@ -50,6 +51,7 @@
suite.addTestSuite(JSTDeploymentWarUpdateXML.class);
suite.addTestSuite(SingleFileDeployableMockDeploymentTester.class);
suite.addTestSuite(MockJSTPublisherTest.class);
+ suite.addTestSuite(MockJSTPublisherTestDynUtil.class);
suite.addTestSuite(JBIDE1657Test.class);
suite.addTestSuite(JBIDE2512aTest.class);
suite.addTestSuite(JBIDE2512bTest.class);
Modified:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockJSTPublisherTest.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockJSTPublisherTest.java 2011-06-15
09:36:33 UTC (rev 32117)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockJSTPublisherTest.java 2011-06-15
09:41:53 UTC (rev 32118)
@@ -3,6 +3,7 @@
import java.io.IOException;
import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.wst.server.core.IModule;
@@ -11,20 +12,30 @@
import org.jboss.ide.eclipse.as.test.util.ServerRuntimeUtils;
public class MockJSTPublisherTest extends AbstractJSTDeploymentTester {
- public void testNormalLogic() throws CoreException, IOException {
+ public void setUp() throws Exception {
+ }
+
+ protected IProject createProject() throws Exception {
+ return createEARProject();
+ }
+
+ public void testNormalLogic() throws CoreException, IOException, Exception {
+ server = ServerRuntimeUtils.createMockDeployOnlyServer();
server = ServerRuntimeUtils.useMockPublishMethod(server);
+ project = createProject();
MockPublishMethod.reset();
theTest(false);
}
- public void testForced7Logic() throws CoreException, IOException {
+ public void testForced7Logic() throws CoreException, IOException, Exception {
server = ServerRuntimeUtils.createMockJBoss7Server();
server = ServerRuntimeUtils.useMockPublishMethod(server);
+ project = createProject();
MockPublishMethod.reset();
theTest(true);
}
- private void theTest(boolean isAs7) throws CoreException, IOException {
+ protected void theTest(boolean isAs7) throws CoreException, IOException {
IModule mod = ServerUtil.getModule(project);
server = ServerRuntimeUtils.addModule(server, mod);
@@ -85,15 +96,15 @@
new String[] { "newModule.ear.deployed", "newModule.ear.failed"
});
}
- private void assertRemoved(boolean isAs7, String[] nonAs7, String[] as7) {
+ protected void assertRemoved(boolean isAs7, String[] nonAs7, String[] as7) {
assertExpectedArtifacts(isAs7, nonAs7, as7, MockPublishMethod.getRemoved());
}
- private void assertChanged(boolean isAs7, String[] nonAs7, String[] as7) {
+ protected void assertChanged(boolean isAs7, String[] nonAs7, String[] as7) {
assertExpectedArtifacts(isAs7, nonAs7, as7, MockPublishMethod.getChanged());
}
- private void assertExpectedArtifacts(boolean isAs7, String[] nonAs7, String[] as7,
IPath[] artifacts) {
+ protected void assertExpectedArtifacts(boolean isAs7, String[] nonAs7, String[] as7,
IPath[] artifacts) {
if (isAs7) {
assertEquals(as7.length, artifacts.length);
} else {
@@ -117,7 +128,7 @@
}
}
- private boolean contains(String expectedPath, IPath[] paths) {
+ protected boolean contains(String expectedPath, IPath[] paths) {
for (IPath path : paths) {
if (expectedPath.equals(path.toString())) {
return true;
Added:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockJSTPublisherTestDynUtil.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockJSTPublisherTestDynUtil.java
(rev 0)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockJSTPublisherTestDynUtil.java 2011-06-15
09:41:53 UTC (rev 32118)
@@ -0,0 +1,105 @@
+package org.jboss.ide.eclipse.as.test.publishing.v2;
+
+import java.io.IOException;
+import java.util.Arrays;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import
org.eclipse.wst.common.componentcore.datamodel.properties.IAddReferenceDataModelProperties;
+import
org.eclipse.wst.common.componentcore.internal.operation.AddReferenceDataModelProvider;
+import org.eclipse.wst.common.componentcore.internal.resources.VirtualReference;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
+import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.jboss.ide.eclipse.as.test.util.ServerRuntimeUtils;
+import org.jboss.ide.eclipse.as.test.util.wtp.JavaEEFacetConstants;
+import org.jboss.ide.eclipse.as.test.util.wtp.OperationTestCase;
+import org.jboss.ide.eclipse.as.test.util.wtp.ProjectCreationUtil;
+
+public class MockJSTPublisherTestDynUtil extends MockJSTPublisherTest {
+ protected IProject createProject() throws Exception {
+ IDataModel dm = ProjectCreationUtil.getWebDataModel(MODULE_NAME, null, null,
CONTENT_DIR, null, JavaEEFacetConstants.WEB_25, false);
+ OperationTestCase.runAndVerify(dm);
+ IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(MODULE_NAME);
+ System.out.println(p.getLocation().toOSString());
+
+ IDataModel dm2 =
ProjectCreationUtil.getUtilityProjectCreationDataModel("util", null);
+ OperationTestCase.runAndVerify(dm2);
+ IProject p2 = ResourcesPlugin.getWorkspace().getRoot().getProject("util");
+ System.out.println(p2.getLocation().toOSString());
+
+ final IVirtualComponent webComponent = ComponentCore.createComponent(p);
+
+ final IVirtualReference ref = new VirtualReference(webComponent,
+ ComponentCore.createComponent(p2, false));
+ ref.setArchiveName("util.jar");
+ ref.setRuntimePath(new
Path("WEB-INF").append("lib").makeAbsolute());
+
+ IWorkspaceRunnable runnable = new IWorkspaceRunnable(){
+ public void run(IProgressMonitor monitor) throws CoreException{
+ addOneReference(webComponent, ref);
+ }
+ };
+ try {
+ ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
+ } catch( CoreException e ) {
+ throw e;
+ }
+
+ return p;
+ }
+
+ protected void addOneReference(IVirtualComponent parent, IVirtualReference ref) throws
CoreException {
+ String path, archiveName;
+
+ IDataModelProvider provider = new AddReferenceDataModelProvider();
+ IDataModel dm = DataModelFactory.createDataModel(provider);
+ dm.setProperty(IAddReferenceDataModelProperties.SOURCE_COMPONENT, parent);
+ dm.setProperty(IAddReferenceDataModelProperties.TARGET_REFERENCE_LIST,
Arrays.asList(ref));
+
+ IStatus stat =
dm.validateProperty(IAddReferenceDataModelProperties.TARGET_REFERENCE_LIST);
+ if (!stat.isOK())
+ throw new CoreException(stat);
+ try {
+ IStatus s = dm.getDefaultOperation().execute(new NullProgressMonitor(), null);
+ if (!stat.isOK())
+ throw new CoreException(stat);
+ } catch(Exception e) {
+ fail();
+ }
+ }
+
+
+ protected void theTest(boolean isAs7) throws CoreException, IOException {
+
+ IModule mod = ServerUtil.getModule(project);
+ server = ServerRuntimeUtils.addModule(server, mod);
+ ServerRuntimeUtils.publish(server);
+ String[] nonAS7 = new String[]{
+ "newModule.war", "newModule.war/META-INF",
"newModule.war/META-INF/MANIFEST.MF",
+ "newModule.war/WEB-INF/classes", "newModule.war/WEB-INF/lib",
"newModule.war/WEB-INF/web.xml",
+ "newModule.war/WEB-INF/lib/util.jar"
+ };
+
+ String[] as7 = new String[]{
+ "newModule.war", "newModule.war/META-INF",
"newModule.war/META-INF/MANIFEST.MF",
+ "newModule.war/WEB-INF/classes", "newModule.war/WEB-INF/lib",
"newModule.war/WEB-INF/web.xml",
+ "newModule.war/WEB-INF/lib/util.jar", "newModule.war.dodeploy"
+ };
+
+ assertChanged( isAs7, nonAS7, as7 );
+ MockPublishMethod.reset();
+ }
+}
Modified:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/wtp/ProjectCreationUtil.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/wtp/ProjectCreationUtil.java 2011-06-15
09:36:33 UTC (rev 32117)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/wtp/ProjectCreationUtil.java 2011-06-15
09:41:53 UTC (rev 32118)
@@ -19,6 +19,8 @@
import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetInstallDataModelProperties;
import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetProjectCreationDataModelProperties;
import org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties;
+import
org.eclipse.jst.j2ee.project.facet.IJavaUtilityProjectCreationDataModelProperties;
+import org.eclipse.jst.j2ee.project.facet.JavaUtilityProjectCreationDataModelProvider;
import org.eclipse.jst.j2ee.web.project.facet.IWebFacetInstallDataModelProperties;
import
org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
import
org.eclipse.wst.common.componentcore.datamodel.properties.IFacetInstallDataModelProperties;
@@ -56,6 +58,27 @@
public static final String CONNECTOR_PROJ_15 = "myConnector_15";
/**
+ * Creates and returns a utility project DM provider with the given name and of the
given version.
+ * If earName is not null then util project will be added to the EAR with earName
+ *
+ * @param projName name of the project to create
+ * @param earName name of the ear to add the project too, if NULL then don't add
to an EAR
+ * @param version version of Application Client to use
+ * @return a Utility Project Data Model with the appropriate properties set
+ */
+ public static IDataModel getUtilityProjectCreationDataModel(String projName, String
earName){
+ IDataModel dm = DataModelFactory.createDataModel(new
JavaUtilityProjectCreationDataModelProvider());
+ dm.setProperty(IJavaUtilityProjectCreationDataModelProperties.PROJECT_NAME,
projName);
+ dm.setProperty(IJavaUtilityProjectCreationDataModelProperties.SOURCE_FOLDER,
"src");
+ if(earName != null) {
+ dm.setProperty(IJavaUtilityProjectCreationDataModelProperties.EAR_PROJECT_NAME,
earName);
+ }
+ return dm;
+ }
+
+
+
+ /**
* Creates and returns an Connector Data Model with the given name and of the given
version.
* If earName is not null then Connector will be added to the EAR with earName.
* Can also specify none default source folder