[jbosstools-commits] JBoss Tools SVN: r30833 - in trunk/as: plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules and 6 other directories.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Mon Apr 25 17:33:39 EDT 2011
Author: rob.stryker at jboss.com
Date: 2011-04-25 17:33:39 -0400 (Mon, 25 Apr 2011)
New Revision: 30833
Added:
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/AltMethodZippedFolderPublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/AltMethodZippedJSTPublisher.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/SingleFileDeployableMockDeploymentTester.java
Removed:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockDeploymentBehaviour.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/plugin.xml
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/WTPZippedPublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/ExtensionManager.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/plugin.xml
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSERemotePublishHandler.java
trunk/as/tests/org.jboss.ide.eclipse.as.archives.integration.test/src/org/jboss/ide/eclipse/as/archives/integration/test/SingleFileZippedDeploymentIntegrationTest.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/JSTDeploymentWarUpdateXML.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/publishing/v2/MockPublishMethod.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/SingleFileDeploymentTester.java
Log:
AS Publishing Unit Tests!
Modified: trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/plugin.xml 2011-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/plugin.xml 2011-04-25 21:33:39 UTC (rev 30833)
@@ -100,6 +100,16 @@
priority="2"
zipDelegate="true">
</publisher>
+ <publisher
+ class="org.jboss.ide.eclipse.archives.webtools.modules.AltMethodZippedJSTPublisher"
+ priority="3"
+ zipDelegate="true">
+ </publisher>
+ <publisher
+ class="org.jboss.ide.eclipse.archives.webtools.modules.AltMethodZippedFolderPublisher"
+ priority="8"
+ zipDelegate="true">
+ </publisher>
</extension>
Added: trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/AltMethodZippedFolderPublisher.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/AltMethodZippedFolderPublisher.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/AltMethodZippedFolderPublisher.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ *
+ * TODO: Logging and Progress Monitors
+ ******************************************************************************/
+package org.jboss.ide.eclipse.archives.webtools.modules;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.modules.SingleDeployableFactory;
+import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
+import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+import org.jboss.ide.eclipse.as.wtp.core.modules.IJBTModule;
+
+/**
+ * This class is in charge of RSE zipped publishing for deployable folders
+ */
+public class AltMethodZippedFolderPublisher extends AltMethodZippedJSTPublisher {
+ public boolean accepts(String method, IServer server, IModule[] module) {
+ if( LocalPublishMethod.LOCAL_PUBLISH_METHOD.equals(method))
+ return false;
+
+ IDeployableServer ds = ServerConverter.getDeployableServer(server);
+ if( module != null && module.length > 0
+ && module[module.length-1] != null
+ && module[module.length-1].getModuleType().getId().equals(SingleDeployableFactory.MODULE_TYPE)) {
+ IModule mod = module[module.length-1];
+ IJBTModule del = (IJBTModule)mod.loadAdapter(IJBTModule.class, new NullProgressMonitor());
+ if( del != null && !del.isBinary())
+ return ds != null && ds.zipsWTPDeployments();; // we have a folder
+ }
+ return false;
+ }
+}
Added: trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/AltMethodZippedJSTPublisher.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/AltMethodZippedJSTPublisher.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/AltMethodZippedJSTPublisher.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -0,0 +1,158 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ *
+ * TODO: Logging and Progress Monitors
+ ******************************************************************************/
+package org.jboss.ide.eclipse.archives.webtools.modules;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+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.core.runtime.Status;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.model.IModuleFile;
+import org.eclipse.wst.server.core.model.IModuleResourceDelta;
+import org.eclipse.wst.server.core.util.ModuleFile;
+import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.ide.eclipse.as.core.publishers.AbstractServerToolsPublisher;
+import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
+import org.jboss.ide.eclipse.as.core.publishers.PublishUtil;
+import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethod;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
+import org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7JSTPublisher;
+import org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7Server;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+
+/**
+ * This class is in charge of RSE zipped publishing for flexible projects.
+ * It extends the functionality of the local zipped publishing class
+ * by uploading the file after building it in a temporary directory
+ */
+public class AltMethodZippedJSTPublisher extends WTPZippedPublisher {
+ public boolean accepts(String method, IServer server, IModule[] module) {
+ if( !LocalPublishMethod.LOCAL_PUBLISH_METHOD.equals(method))
+ return super.accepts(method, server, module);
+ return false;
+ }
+
+ protected boolean publishMethodSpecific() {
+ return false; // can publish all method types
+ }
+
+ /**
+ * Here we put the deployment first in a temporary remote deploy folder
+ * Then during the publishModule call, we'll also upload it to remote machine
+ */
+ protected String getDeployRoot(IModule[] module, IDeployableServer ds) {
+ IPath deployRoot = JBossServerCorePlugin.getServerStateLocation(ds.getServer()).
+ append(IJBossServerConstants.TEMP_REMOTE_DEPLOY).makeAbsolute();
+ deployRoot.toFile().mkdirs();
+ return deployRoot.toString();
+ }
+
+ private IModule[] module;
+ private IServer server;
+ private IJBossServerPublishMethod method;
+
+ @Override
+ public IStatus publishModule(
+ IJBossServerPublishMethod method,
+ IServer server, IModule[] module,
+ int publishType, IModuleResourceDelta[] delta,
+ IProgressMonitor monitor) throws CoreException {
+ this.module = module;
+ this.server = server;
+ this.method = method;
+
+ String taskName = "Publishing " + module[0].getName(); //$NON-NLS-1$
+ monitor.beginTask(taskName, 200);
+ monitor.setTaskName(taskName);
+ if( module.length > 1 ) {
+ monitor.done();
+ return null;
+ }
+
+ monitor.setTaskName("Publishing to remote server " + server.getName()); //$NON-NLS-1$
+
+ // set up needed vars
+ IDeployableServer server2 = ServerConverter.getDeployableServer(server);
+ String remoteTempDeployRoot = getDeployRoot(module, ServerConverter.getDeployableServer(server));
+ IPath sourcePath = PublishUtil.getDeployPath(module, remoteTempDeployRoot, server2);
+ IPath destFolder = PublishUtil.getDeployPath(method, module, server2);
+ String name = sourcePath.lastSegment();
+ IStatus result = null;
+
+
+ // Am I a removal? If yes, remove me, and return
+ if( publishType == IJBossServerPublisher.REMOVE_PUBLISH) {
+ result = removeRemoteDeployment(sourcePath, destFolder, name, monitor);
+ } else if( publishType != IJBossServerPublisher.NO_PUBLISH ){
+ // Locally zip it up into the remote tmp folder
+ result = super.publishModule(method, server, module, publishType, delta,
+ AbstractServerToolsPublisher.getSubMon(monitor, 50));
+ if( !result.isOK() ) {
+ monitor.done();
+ } else {
+ result = remoteFullPublish(sourcePath, destFolder.removeLastSegments(1), name,
+ AbstractServerToolsPublisher.getSubMon(monitor, 150));
+ }
+ }
+
+ monitor.done();
+ if( result != null ) {
+ return result;
+ }
+
+ return Status.OK_STATUS;
+ }
+
+ private IStatus remoteFullPublish(IPath sourcePath,
+ IPath destFolder, String name, IProgressMonitor monitor) {
+ // Now transfer the file to RSE
+ try {
+ removeRemoteDeploymentFolder(sourcePath, destFolder, name, new NullProgressMonitor());
+ IModuleFile mf = new ModuleFile(sourcePath.toFile(), name, new Path("/")); //$NON-NLS-1$
+ method.getCallbackHandler(destFolder, server).copyFile(mf, new Path(name),
+ AbstractServerToolsPublisher.getSubMon(monitor, 150)
+ );
+ if( JBoss7Server.supportsJBoss7MarkerDeployment(server))
+ JBoss7JSTPublisher.addDoDeployMarkerFile(method, ServerConverter.getDeployableServer(server), module, monitor);
+ } catch(CoreException ce) {
+ return ce.getStatus();
+ }
+ return Status.OK_STATUS;
+ }
+
+ private IStatus removeRemoteDeployment( IPath sourcePath,
+ IPath destFolder, String name, IProgressMonitor monitor) throws CoreException {
+ IDeployableServer ds = ServerConverter.getDeployableServer(server);
+ try {
+ if( JBoss7Server.supportsJBoss7MarkerDeployment(server))
+ return JBoss7JSTPublisher.removeDeployedMarkerFile(method, ds, module, monitor);
+ return removeRemoteDeploymentFolder(sourcePath, destFolder, name, monitor);
+ } catch(CoreException ce) {
+ return ce.getStatus();
+ }
+ }
+
+ private IStatus removeRemoteDeploymentFolder(IPath sourcePath,
+ IPath destFolder, String name, IProgressMonitor monitor) throws CoreException {
+ // Now delete the file from RSE
+ // TODO *** FIX THIS IT IS NOT LOGGING ERRORS
+ IStatus[] tmp = method.getCallbackHandler(destFolder, server).deleteResource(new Path(name), monitor);
+ return Status.OK_STATUS;
+ }
+}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/WTPZippedPublisher.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/WTPZippedPublisher.java 2011-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/WTPZippedPublisher.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -76,7 +76,7 @@
// When a call for [ear, childWar] comes in, ignore it.
if( module.length > 1 )
return null;
-
+
if( JBoss7Server.supportsJBoss7MarkerDeployment(server))
return handleJBoss7Deployment(method, server, module, publishType, delta, monitor);
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/ExtensionManager.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/ExtensionManager.java 2011-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/ExtensionManager.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -151,9 +151,12 @@
loadPublishers();
Iterator<PublisherWrapper> i = publishers.iterator();
PublisherWrapper wrapper;
+ System.out.println("finding publisher: "); //$NON-NLS-1$
while(i.hasNext()) {
wrapper = i.next();
IJBossServerPublisher publisher = wrapper.publisher;
+ System.out.println(" publisher " + publisher.getClass() + " accepted? " + //$NON-NLS-1$ //$NON-NLS-2$
+ publisher.accepts(deployMethod, server, module));
if( publisher.accepts(deployMethod, server, module))
return wrapper.getNewInstance();
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/plugin.xml 2011-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/plugin.xml 2011-04-25 21:33:39 UTC (rev 30833)
@@ -22,7 +22,6 @@
class="org.jboss.ide.eclipse.as.rse.core.RSEJSTPublisher"
priority="5">
</publisher>
--->
<publisher
class="org.jboss.ide.eclipse.as.rse.core.archives.RSEZippedJSTPublisher"
priority="3"
@@ -33,6 +32,7 @@
priority="8"
zipDelegate="true">
</publisher>
+-->
</extension>
</plugin>
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSERemotePublishHandler.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSERemotePublishHandler.java 2011-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSERemotePublishHandler.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -22,8 +22,8 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Status;
+import org.eclipse.rse.services.clientserver.messages.SystemElementNotFoundException;
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
-import org.eclipse.rse.services.files.IHostFile;
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
import org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil;
import org.eclipse.wst.server.core.model.IModuleFile;
@@ -54,7 +54,7 @@
} catch( SystemMessageException sme ) {
IStatus s = new Status(IStatus.ERROR, RSECorePlugin.PLUGIN_ID,
"failed to copy to " + remotePath.toString(), sme);
- return new IStatus[]{s};
+ throw new CoreException(s);
}
return new IStatus[]{};
}
@@ -64,10 +64,12 @@
IPath remotePath = root.append(path);
try {
method.getFileService().delete(remotePath.removeLastSegments(1).toString(), remotePath.lastSegment(), monitor);
+ } catch(SystemElementNotFoundException senfe ) {
+ // ignore, file already does not exist remotely
} catch( SystemMessageException sme ) {
IStatus s = new Status(IStatus.ERROR, RSECorePlugin.PLUGIN_ID,
"failed to delete " + remotePath.toString(), sme);
- return new IStatus[]{s};
+ throw new CoreException(s);
}
return new IStatus[]{};
}
Modified: trunk/as/tests/org.jboss.ide.eclipse.as.archives.integration.test/src/org/jboss/ide/eclipse/as/archives/integration/test/SingleFileZippedDeploymentIntegrationTest.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.archives.integration.test/src/org/jboss/ide/eclipse/as/archives/integration/test/SingleFileZippedDeploymentIntegrationTest.java 2011-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.archives.integration.test/src/org/jboss/ide/eclipse/as/archives/integration/test/SingleFileZippedDeploymentIntegrationTest.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -2,6 +2,8 @@
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.CoreException;
@@ -15,13 +17,13 @@
import org.jboss.ide.eclipse.as.core.modules.SingleDeployableFactory;
import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
import org.jboss.ide.eclipse.as.test.ASTest;
-import org.jboss.ide.eclipse.as.test.publishing.v2.JSTDeploymentTester;
+import org.jboss.ide.eclipse.as.test.publishing.v2.AbstractJSTDeploymentTester;
import org.jboss.ide.eclipse.as.test.publishing.v2.MockPublishMethod;
import org.jboss.ide.eclipse.as.test.util.IOUtil;
import org.jboss.ide.eclipse.as.test.util.ServerRuntimeUtils;
import org.jboss.tools.test.util.JobUtils;
-public class SingleFileZippedDeploymentIntegrationTest extends JSTDeploymentTester {
+public class SingleFileZippedDeploymentIntegrationTest extends AbstractJSTDeploymentTester {
public void testSingleFolderZipped() throws CoreException, IOException {
server = ServerRuntimeUtils.setZipped(server, true);
try {
@@ -35,7 +37,10 @@
server = ServerRuntimeUtils.createMockJBoss7Server();
server = ServerRuntimeUtils.useMockPublishMethod(server);
server = ServerRuntimeUtils.setZipped(server, true);
-
+ MockPublishMethod.reset();
+ ArrayList<IPath> o1 = MockPublishMethod.changed;
+ ArrayList<IPath> o2 = MockPublishMethod.removed;
+
final String folderName = "test";
IFolder folder = project.getFolder(folderName);
createFolder(folder);
@@ -45,6 +50,7 @@
assertEquals(mods.length, 1);
server = ServerRuntimeUtils.addModule(server, mods[0]);
ServerRuntimeUtils.publish(server);
+ dump(o1,o2);
int ch = MockPublishMethod.getChanged().length;
int rm = MockPublishMethod.getRemoved().length;
assertEquals(2,ch);
@@ -55,8 +61,6 @@
IOUtil.setContents(folder.getFile("3.txt"), "3a");
ServerRuntimeUtils.publish(server);
JobUtils.waitForIdle();
- Object o1 = MockPublishMethod.getChanged();
- Object o2 = MockPublishMethod.getRemoved();
ch = MockPublishMethod.getChanged().length;
rm = MockPublishMethod.getRemoved().length;
@@ -74,6 +78,17 @@
MockPublishMethod.reset();
}
+ private void dump(ArrayList<IPath> changed, ArrayList<IPath> removed) {
+ System.out.println("dump");
+ Iterator i = changed.iterator();
+ while(i.hasNext()) {
+ System.out.println(" - changed " + i.next());
+ }
+ i = removed.iterator();
+ while(i.hasNext()) {
+ System.out.println(" - removed " + i.next());
+ }
+ }
private void createFolder(IFolder folder) throws CoreException, IOException {
folder.create(true, true, new NullProgressMonitor());
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-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/ASTestSuite.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -35,7 +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.MockDeploymentBehaviour;
+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;
import org.jboss.ide.eclipse.as.test.server.JBossServerAPITest;
@@ -44,21 +44,21 @@
public static Test suite() {
TestSuite suite = new TestSuite("ASTools Test Suite");
suite.addTestSuite(PreReqTest.class);
- suite.addTestSuite(RuntimeServerModelTest.class);
- suite.addTestSuite(JEEClasspathContainerTest.class);
- suite.addTestSuite(ProjectRuntimeTest.class);
- suite.addTestSuite(JBIDE1657Test.class);
- suite.addTestSuite(JBIDE2512aTest.class);
- suite.addTestSuite(JBIDE2512bTest.class);
- suite.addTestSuite(JBIDE4184Test.class);
- suite.addTestSuite(TestEar5WithJBossRuntime.class);
- suite.addTestSuite(JSTDeploymentTester.class);
- suite.addTestSuite(JSTDeployBinaryChildModuleTest.class);
- suite.addTestSuite(SingleFileDeploymentTester.class);
- suite.addTestSuite(JBossServerAPITest.class);
- suite.addTestSuite(MockDeploymentBehaviour.class);
- suite.addTestSuite(JSTDeploymentWarUpdateXML.class);
- suite.addTestSuite(MockJSTPublisherTest.class);
+// suite.addTestSuite(RuntimeServerModelTest.class);
+// suite.addTestSuite(JEEClasspathContainerTest.class);
+// suite.addTestSuite(ProjectRuntimeTest.class);
+// suite.addTestSuite(JSTDeploymentWarUpdateXML.class);
+// suite.addTestSuite(SingleFileDeployableMockDeploymentTester.class);
+// suite.addTestSuite(MockJSTPublisherTest.class);
+// suite.addTestSuite(JBIDE1657Test.class);
+// suite.addTestSuite(JBIDE2512aTest.class);
+// suite.addTestSuite(JBIDE2512bTest.class);
+// suite.addTestSuite(JBIDE4184Test.class);
+// suite.addTestSuite(TestEar5WithJBossRuntime.class);
+// suite.addTestSuite(JSTDeploymentTester.class);
+// suite.addTestSuite(JSTDeployBinaryChildModuleTest.class);
+// suite.addTestSuite(SingleFileDeploymentTester.class);
+// suite.addTestSuite(JBossServerAPITest.class);
return suite;
}
Modified: trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeploymentWarUpdateXML.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeploymentWarUpdateXML.java 2011-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeploymentWarUpdateXML.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -60,7 +60,7 @@
public void testWarUpdateMockPublishMethod() throws CoreException, IOException {
server = ServerRuntimeUtils.useMockPublishMethod(server);
- testMockPublishMethod(7,1,"");
+ testMockPublishMethod(7,1,"newModule.war");
}
public void testWarUpdateMockPublishMethodJBoss7() throws CoreException, IOException {
@@ -70,6 +70,7 @@
}
private void testMockPublishMethod(int initial, int remove, String removedFile) throws CoreException, IOException {
+ MockPublishMethod.reset();
IModule mod = ServerUtil.getModule(project);
server = ServerRuntimeUtils.addModule(server,mod);
ServerRuntimeUtils.publish(server);
Deleted: trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockDeploymentBehaviour.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockDeploymentBehaviour.java 2011-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockDeploymentBehaviour.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -1,166 +0,0 @@
-package org.jboss.ide.eclipse.as.test.publishing.v2;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.server.core.IModule;
-import org.jboss.ide.eclipse.as.core.ExtensionManager;
-import org.jboss.ide.eclipse.as.core.extensions.events.ServerLogger;
-import org.jboss.ide.eclipse.as.core.modules.SingleDeployableFactory;
-import org.jboss.ide.eclipse.as.core.publishers.SingleFilePublisher;
-import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
-import org.jboss.ide.eclipse.as.core.server.internal.ServerAttributeHelper;
-import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader;
-import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentModulePrefs;
-import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentPreferences;
-import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
-import org.jboss.ide.eclipse.as.test.ASTest;
-import org.jboss.ide.eclipse.as.test.util.IOUtil;
-import org.jboss.ide.eclipse.as.test.util.ServerRuntimeUtils;
-
-public class MockDeploymentBehaviour extends JSTDeploymentTester {
- public void testSingleFile() throws CoreException, IOException {
- final String filename = "test.xml";
- IResource file = createFile(filename, "<test>done</test>");
- IModule[] mods = SingleDeployableFactory.getFactory().getModules();
- assertEquals(mods.length, 0);
- SingleDeployableFactory.makeDeployable(file);
- mods = SingleDeployableFactory.getFactory().getModules();
- assertEquals(mods.length, 1);
- verifyPublisher(mods[0], SingleFilePublisher.class);
- server = ServerRuntimeUtils.addModule(server, mods[0]);
- IPath deployRoot = new Path(ServerRuntimeUtils.getDeployRoot(server));
- deployRoot.toFile().mkdirs();
- assertEquals(IOUtil.countFiles(deployRoot.toFile()), 0);
- assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 1);
- ServerRuntimeUtils.publish(server);
- assertEquals(IOUtil.countFiles(deployRoot.toFile()), 1);
- assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 2);
- assertContents(deployRoot.append("test.xml").toFile(),
- "<test>done</test>");
- IOUtil.setContents(project.getFile(filename), "<test>done2</test>");
- assertContents(deployRoot.append("test.xml").toFile(),
- "<test>done</test>");
- ServerRuntimeUtils.publish(server);
- assertContents(deployRoot.append("test.xml").toFile(),
- "<test>done2</test>");
- server = ServerRuntimeUtils.removeModule(server, mods[0]);
- assertContents(deployRoot.append("test.xml").toFile(),
- "<test>done2</test>");
- assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 2);
- ServerRuntimeUtils.publish(server);
- assertFalse(deployRoot.append("test.xml").toFile().exists());
- assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 1);
- }
-
- protected void verifyPublisher(IModule module, Class c) {
- IModule[] mod = new IModule[] { module };
- IJBossServerPublisher publisher = ExtensionManager
- .getDefault().getPublisher(server, mod, "local");
- assertTrue(publisher.getClass().equals(c));
- }
-
- protected IFile createFile(String filename, String contents) throws CoreException, IOException {
- IFile resource = project.getFile(filename);
- IOUtil.setContents(resource, contents);
- return resource;
- }
-
- public void testSingleFolder() throws CoreException, IOException {
- IPath moduleDeployRoot = new Path(ServerRuntimeUtils.getDeployRoot(server));
- final String folderName = "test";
- moduleDeployRoot.toFile().mkdirs();
- IModule[] mods = singleFolderCreateModules(folderName);
- singleFolderPublishAndVerify(moduleDeployRoot, folderName, mods);
- }
-
- public void testSingleFolderCustomDeployFolderRelative() throws CoreException, IOException {
- IPath serverDeployRoot = new Path(ServerRuntimeUtils.getDeployRoot(server));
- final String folderName = "test";
- String relativeFolder = "something.foo";
- IPath moduleDeployRoot = serverDeployRoot.append(relativeFolder);
- moduleDeployRoot.toFile().mkdirs();
- IModule[] mods = singleFolderCreateModules(folderName);
- DeploymentPreferences prefs = DeploymentPreferenceLoader.loadPreferencesFromServer(server);
- DeploymentModulePrefs p = prefs.getOrCreatePreferences().getOrCreateModulePrefs(mods[0]);
- p.setProperty(IJBossToolingConstants.LOCAL_DEPLOYMENT_LOC, relativeFolder);
- ServerAttributeHelper helper = new ServerAttributeHelper(server, server.createWorkingCopy());
- DeploymentPreferenceLoader.savePreferencesToServerWorkingCopy(helper, prefs);
- server = helper.save(true, new NullProgressMonitor());
- singleFolderPublishAndVerify(moduleDeployRoot, folderName, mods);
- }
-
- public void testSingleFolderCustomDeployFolderAbsolute() throws CoreException, IOException {
- IPath serverDeployRoot = new Path(ServerRuntimeUtils.getDeployRoot(server));
- final String folderName = "test";
- IPath state = ASTest.getDefault().getStateLocation();
- IPath moduleDeployRoot = state.append("testDeployments").append("absoluteFolder.place");
- moduleDeployRoot.toFile().mkdirs();
- IModule[] mods = singleFolderCreateModules(folderName);
- DeploymentPreferences prefs = DeploymentPreferenceLoader.loadPreferencesFromServer(server);
- DeploymentModulePrefs p = prefs.getOrCreatePreferences().getOrCreateModulePrefs(mods[0]);
- p.setProperty(IJBossToolingConstants.LOCAL_DEPLOYMENT_LOC, moduleDeployRoot.toOSString());
- ServerAttributeHelper helper = new ServerAttributeHelper(server, server.createWorkingCopy());
- DeploymentPreferenceLoader.savePreferencesToServerWorkingCopy(helper, prefs);
- server = helper.save(true, new NullProgressMonitor());
- singleFolderPublishAndVerify(moduleDeployRoot, folderName, mods);
- }
-
-
- private IModule[] singleFolderCreateModules(String folderName) throws CoreException, IOException {
- IFolder folder = project.getFolder(folderName);
- folder.create(true, true, new NullProgressMonitor());
- IOUtil.setContents(folder.getFile("1.txt"), "1");
- IOUtil.setContents(folder.getFile("2.txt"), "2");
- IOUtil.setContents(folder.getFile("3.txt"), "3");
- IModule[] mods = SingleDeployableFactory.getFactory().getModules();
- assertEquals(mods.length, 0);
- SingleDeployableFactory.makeDeployable(folder);
- mods = SingleDeployableFactory.getFactory().getModules();
- assertEquals(mods.length, 1);
- verifyPublisher(mods[0], SingleFilePublisher.class);
- return mods;
- }
-
- private void singleFolderPublishAndVerify(IPath moduleDeployRoot, String folderName, IModule[] mods) throws CoreException, IOException {
- server = ServerRuntimeUtils.addModule(server, mods[0]);
- assertEquals(IOUtil.countFiles(moduleDeployRoot.toFile()), 0);
- assertEquals(IOUtil.countAllResources(moduleDeployRoot.toFile()), 1);
- ServerRuntimeUtils.publish(server);
- assertEquals(IOUtil.countFiles(moduleDeployRoot.toFile()), 3);
- assertEquals(IOUtil.countAllResources(moduleDeployRoot.toFile()), 4);
- File folder2 = moduleDeployRoot.toFile().listFiles()[0];
- assertTrue(folder2.getName().equals(folderName));
- File[] folderChildren = folder2.listFiles();
- assertTrue(folderChildren.length == 3);
- File three = new File(folder2, "3.txt");
- assertEquals(IOUtil.getContents(three), "3");
- IFolder folder = project.getFolder(folderName);
- IOUtil.setContents(folder.getFile("3.txt"), "3a");
- ServerRuntimeUtils.publish(server);
- assertEquals(IOUtil.countFiles(moduleDeployRoot.toFile()), 3);
- assertEquals(IOUtil.countAllResources(moduleDeployRoot.toFile()), 4);
- folder2 = moduleDeployRoot.toFile().listFiles()[0];
- assertTrue(folder2.getName().equals(folderName));
- folderChildren = folder2.listFiles();
- assertTrue(folderChildren.length == 3);
- three = new File(folder2, "3.txt");
- assertEquals(IOUtil.getContents(three), "3a");
- }
-
- public void testSingleFileZipped() throws CoreException, IOException {
- server = ServerRuntimeUtils.setZipped(server, true);
- try {
- testSingleFile();
- } finally {
- server = ServerRuntimeUtils.setZipped(server, false);
- }
- }
-}
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-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockJSTPublisherTest.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -15,35 +15,35 @@
public void testNormalLogic() throws CoreException, IOException {
server = ServerRuntimeUtils.useMockPublishMethod(server);
MockPublishMethod.reset();
- theTest(2,1, "");
+ theTest(false);
}
public void testForced7Logic() throws CoreException, IOException {
server = ServerRuntimeUtils.createMockJBoss7Server();
server = ServerRuntimeUtils.useMockPublishMethod(server);
MockPublishMethod.reset();
- theTest(3,1, "newModule.ear" + JBoss7JSTPublisher.DEPLOYED);
+ theTest(true);
}
- private void theTest(int initialPublish, int remove, String relativePath) throws CoreException, IOException {
+ private void theTest(boolean as7) throws CoreException, IOException {
IModule mod = ServerUtil.getModule(project);
IModule[] module = new IModule[] { mod };
server = ServerRuntimeUtils.addModule(server,mod);
ServerRuntimeUtils.publish(server);
// one additional for doDeploy
- assertEquals(initialPublish, MockPublishMethod.getChanged().length);
+ assertEquals(as7 ? 3 : 2, MockPublishMethod.getChanged().length);
MockPublishMethod.reset();
IFile textFile = project.getFile(CONTENT_TEXT_FILE);
IOUtil.setContents(textFile, 0);
assertEquals(0, MockPublishMethod.getChanged().length);
ServerRuntimeUtils.publish(server);
- assertEquals(2, MockPublishMethod.getChanged().length);
+ assertEquals(as7 ? 3 : 2, MockPublishMethod.getChanged().length);
MockPublishMethod.reset();
IOUtil.setContents(textFile, 1);
ServerRuntimeUtils.publish(server);
- assertEquals(2, MockPublishMethod.getChanged().length);
+ assertEquals(as7 ? 3 : 2, MockPublishMethod.getChanged().length);
MockPublishMethod.reset();
textFile.delete(true, null);
ServerRuntimeUtils.publish(server);
@@ -55,7 +55,7 @@
// Still just one delete, but should be the .deployed file
ServerRuntimeUtils.publish(server);
- assertEquals(remove, MockPublishMethod.getRemoved().length);
+ assertEquals(1, MockPublishMethod.getRemoved().length);
}
}
Modified: trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockPublishMethod.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockPublishMethod.java 2011-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockPublishMethod.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -41,6 +41,7 @@
}
public static IPath[] getChanged() {
+ ArrayList<IPath> tmp = changed;
return (IPath[]) changed.toArray(new IPath[changed.size()]);
}
@@ -53,6 +54,7 @@
public IStatus[] deleteResource(IPath path, IProgressMonitor monitor)
throws CoreException {
+ System.out.println("deleting " + root.append(path));
IPath path2 = root.append(path);
if( !removed.contains(path2.makeRelative()))
removed.add(path2.makeRelative());
@@ -61,6 +63,8 @@
public IStatus[] makeDirectoryIfRequired(IPath dir,
IProgressMonitor monitor) throws CoreException {
+ System.out.println("mkdir to " + root.append(dir));
+
IPath path2 = root.append(dir);
if( !changed.contains(path2.makeRelative()))
changed.add(path2.makeRelative());
@@ -73,6 +77,7 @@
}
public IStatus[] copyFile(IModuleFile mf, IPath path,
IProgressMonitor monitor) throws CoreException {
+ System.out.println("copying to " + root.append(path));
File file = PublishUtil.getFile(mf);
shouldRestartModule |= PublishCopyUtil.checkRestartModule(file);
IPath path2 = root.append(path);
@@ -82,6 +87,7 @@
}
public IStatus[] touchResource(IPath path) {
+ System.out.println("touching " + root.append(path));
IPath path2 = root.append(path);
if( !changed.contains(path2.makeRelative()))
changed.add(path2.makeRelative());
Copied: trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/SingleFileDeployableMockDeploymentTester.java (from rev 30813, trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockDeploymentBehaviour.java)
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/SingleFileDeployableMockDeploymentTester.java (rev 0)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/SingleFileDeployableMockDeploymentTester.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -0,0 +1,174 @@
+package org.jboss.ide.eclipse.as.test.publishing.v2;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.internal.ServerPreferences;
+import org.jboss.ide.eclipse.as.core.ExtensionManager;
+import org.jboss.ide.eclipse.as.core.modules.SingleDeployableFactory;
+import org.jboss.ide.eclipse.as.core.publishers.SingleFilePublisher;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
+import org.jboss.ide.eclipse.as.core.server.internal.ServerAttributeHelper;
+import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader;
+import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentModulePrefs;
+import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentPreferences;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
+import org.jboss.ide.eclipse.as.test.ASTest;
+import org.jboss.ide.eclipse.as.test.util.IOUtil;
+import org.jboss.ide.eclipse.as.test.util.ServerRuntimeUtils;
+
+public class SingleFileDeployableMockDeploymentTester extends AbstractJSTDeploymentTester {
+ public void setUp() throws Exception {
+ super.setUp();
+ ServerPreferences.getInstance().setAutoPublishing(false);
+ }
+ public void tearDown() throws Exception {
+ ServerPreferences.getInstance().setAutoPublishing(true);
+ super.tearDown();
+ }
+
+ public void testSingleFile() throws CoreException, IOException {
+ final String filename = "test.xml";
+ IResource file = createFile(filename, "<test>done</test>");
+ IModule[] mods = SingleDeployableFactory.getFactory().getModules();
+ assertEquals(mods.length, 0);
+ SingleDeployableFactory.makeDeployable(file);
+ mods = SingleDeployableFactory.getFactory().getModules();
+ assertEquals(mods.length, 1);
+ verifyPublisher(mods[0], SingleFilePublisher.class);
+ server = ServerRuntimeUtils.addModule(server, mods[0]);
+ IPath deployRoot = new Path(ServerRuntimeUtils.getDeployRoot(server));
+ deployRoot.toFile().mkdirs();
+ assertEquals(IOUtil.countFiles(deployRoot.toFile()), 0);
+ assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 1);
+ ServerRuntimeUtils.publish(server);
+ assertEquals(IOUtil.countFiles(deployRoot.toFile()), 1);
+ assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 2);
+ assertContents(deployRoot.append("test.xml").toFile(),
+ "<test>done</test>");
+ IOUtil.setContents(project.getFile(filename), "<test>done2</test>");
+ assertContents(deployRoot.append("test.xml").toFile(), "<test>done</test>");
+ ServerRuntimeUtils.publish(server);
+ assertContents(deployRoot.append("test.xml").toFile(),
+ "<test>done2</test>");
+ server = ServerRuntimeUtils.removeModule(server, mods[0]);
+ assertContents(deployRoot.append("test.xml").toFile(),
+ "<test>done2</test>");
+ assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 2);
+ ServerRuntimeUtils.publish(server);
+ assertFalse(deployRoot.append("test.xml").toFile().exists());
+ assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 1);
+ }
+
+ protected void verifyPublisher(IModule module, Class c) {
+ IModule[] mod = new IModule[] { module };
+ IJBossServerPublisher publisher = ExtensionManager
+ .getDefault().getPublisher(server, mod, "local");
+ assertTrue(publisher.getClass().equals(c));
+ }
+
+ protected IFile createFile(String filename, String contents) throws CoreException, IOException {
+ IFile resource = project.getFile(filename);
+ IOUtil.setContents(resource, contents);
+ return resource;
+ }
+
+ public void testSingleFolder() throws CoreException, IOException {
+ IPath moduleDeployRoot = new Path(ServerRuntimeUtils.getDeployRoot(server));
+ final String folderName = "test";
+ moduleDeployRoot.toFile().mkdirs();
+ IModule[] mods = singleFolderCreateModules(folderName);
+ singleFolderPublishAndVerify(moduleDeployRoot, folderName, mods);
+ }
+
+ public void testSingleFolderCustomDeployFolderRelative() throws CoreException, IOException {
+ IPath serverDeployRoot = new Path(ServerRuntimeUtils.getDeployRoot(server));
+ final String folderName = "test";
+ String relativeFolder = "something.foo";
+ IPath moduleDeployRoot = serverDeployRoot.append(relativeFolder);
+ moduleDeployRoot.toFile().mkdirs();
+ IModule[] mods = singleFolderCreateModules(folderName);
+ DeploymentPreferences prefs = DeploymentPreferenceLoader.loadPreferencesFromServer(server);
+ DeploymentModulePrefs p = prefs.getOrCreatePreferences().getOrCreateModulePrefs(mods[0]);
+ p.setProperty(IJBossToolingConstants.LOCAL_DEPLOYMENT_LOC, relativeFolder);
+ ServerAttributeHelper helper = new ServerAttributeHelper(server, server.createWorkingCopy());
+ DeploymentPreferenceLoader.savePreferencesToServerWorkingCopy(helper, prefs);
+ server = helper.save(true, new NullProgressMonitor());
+ singleFolderPublishAndVerify(moduleDeployRoot, folderName, mods);
+ }
+
+ public void testSingleFolderCustomDeployFolderAbsolute() throws CoreException, IOException {
+ IPath serverDeployRoot = new Path(ServerRuntimeUtils.getDeployRoot(server));
+ final String folderName = "test";
+ IPath state = ASTest.getDefault().getStateLocation();
+ IPath moduleDeployRoot = state.append("testDeployments").append("absoluteFolder.place");
+ moduleDeployRoot.toFile().mkdirs();
+ IModule[] mods = singleFolderCreateModules(folderName);
+ DeploymentPreferences prefs = DeploymentPreferenceLoader.loadPreferencesFromServer(server);
+ DeploymentModulePrefs p = prefs.getOrCreatePreferences().getOrCreateModulePrefs(mods[0]);
+ p.setProperty(IJBossToolingConstants.LOCAL_DEPLOYMENT_LOC, moduleDeployRoot.toOSString());
+ ServerAttributeHelper helper = new ServerAttributeHelper(server, server.createWorkingCopy());
+ DeploymentPreferenceLoader.savePreferencesToServerWorkingCopy(helper, prefs);
+ server = helper.save(true, new NullProgressMonitor());
+ singleFolderPublishAndVerify(moduleDeployRoot, folderName, mods);
+ }
+
+
+ private IModule[] singleFolderCreateModules(String folderName) throws CoreException, IOException {
+ IFolder folder = project.getFolder(folderName);
+ folder.create(true, true, new NullProgressMonitor());
+ IOUtil.setContents(folder.getFile("1.txt"), "1");
+ IOUtil.setContents(folder.getFile("2.txt"), "2");
+ IOUtil.setContents(folder.getFile("3.txt"), "3");
+ IModule[] mods = SingleDeployableFactory.getFactory().getModules();
+ assertEquals(mods.length, 0);
+ SingleDeployableFactory.makeDeployable(folder);
+ mods = SingleDeployableFactory.getFactory().getModules();
+ assertEquals(mods.length, 1);
+ verifyPublisher(mods[0], SingleFilePublisher.class);
+ return mods;
+ }
+
+ private void singleFolderPublishAndVerify(IPath moduleDeployRoot, String folderName, IModule[] mods) throws CoreException, IOException {
+ server = ServerRuntimeUtils.addModule(server, mods[0]);
+ assertEquals(IOUtil.countFiles(moduleDeployRoot.toFile()), 0);
+ assertEquals(IOUtil.countAllResources(moduleDeployRoot.toFile()), 1);
+ ServerRuntimeUtils.publish(server);
+ assertEquals(IOUtil.countFiles(moduleDeployRoot.toFile()), 3);
+ assertEquals(IOUtil.countAllResources(moduleDeployRoot.toFile()), 4);
+ File folder2 = moduleDeployRoot.toFile().listFiles()[0];
+ assertTrue(folder2.getName().equals(folderName));
+ File[] folderChildren = folder2.listFiles();
+ assertTrue(folderChildren.length == 3);
+ File three = new File(folder2, "3.txt");
+ assertEquals(IOUtil.getContents(three), "3");
+ IFolder folder = project.getFolder(folderName);
+ IOUtil.setContents(folder.getFile("3.txt"), "3a");
+ ServerRuntimeUtils.publish(server);
+ assertEquals(IOUtil.countFiles(moduleDeployRoot.toFile()), 3);
+ assertEquals(IOUtil.countAllResources(moduleDeployRoot.toFile()), 4);
+ folder2 = moduleDeployRoot.toFile().listFiles()[0];
+ assertTrue(folder2.getName().equals(folderName));
+ folderChildren = folder2.listFiles();
+ assertTrue(folderChildren.length == 3);
+ three = new File(folder2, "3.txt");
+ assertEquals(IOUtil.getContents(three), "3a");
+ }
+
+ public void testSingleFileZipped() throws CoreException, IOException {
+ server = ServerRuntimeUtils.setZipped(server, true);
+ try {
+ testSingleFile();
+ } finally {
+ server = ServerRuntimeUtils.setZipped(server, false);
+ }
+ }
+}
Modified: trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/SingleFileDeploymentTester.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/SingleFileDeploymentTester.java 2011-04-25 21:04:47 UTC (rev 30832)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/SingleFileDeploymentTester.java 2011-04-25 21:33:39 UTC (rev 30833)
@@ -26,7 +26,7 @@
import org.jboss.ide.eclipse.as.test.util.ServerRuntimeUtils;
import org.jboss.tools.test.util.JobUtils;
-public class SingleFileDeploymentTester extends JSTDeploymentTester {
+public class SingleFileDeploymentTester extends AbstractJSTDeploymentTester {
public void testSingleFile() throws CoreException, IOException {
final String filename = "test.xml";
@@ -225,14 +225,14 @@
assertEquals(changed2.size(), 0);
assertEquals(removed2.size(), 0);
ServerRuntimeUtils.publish(server);
- assertEquals(changed2.size(), 4);
+ assertEquals(changed2.size(), 5);
assertEquals(removed2.size(), 1);
MockPublishMethod.reset();
IFolder folder = project.getFolder(folderName);
IOUtil.setContents(folder.getFile("3.txt"), "3a");
ServerRuntimeUtils.publish(server);
- assertEquals(changed2.size(), 2);
+ assertEquals(changed2.size(), 3);
assertEquals(removed2.size(), 0);
MockPublishMethod.reset();
More information about the jbosstools-commits
mailing list