Author: rob.stryker(a)jboss.com
Date: 2010-11-17 03:25:05 -0500 (Wed, 17 Nov 2010)
New Revision: 26658
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/DeploymentPreferenceLoader.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/DeploymentModuleOptionCompositeAssistant.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ModuleDeploymentPage.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/SingleFileDeploymentTester.java
Log:
JBIDE-7585 - some tests proving it does respond ;)
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/DeploymentPreferenceLoader.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/DeploymentPreferenceLoader.java 2010-11-17
03:43:10 UTC (rev 26657)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/DeploymentPreferenceLoader.java 2010-11-17
08:25:05 UTC (rev 26658)
@@ -11,6 +11,7 @@
package org.jboss.ide.eclipse.as.core.util;
import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -24,9 +25,11 @@
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.internal.Server;
import org.jboss.ide.eclipse.as.core.ExtensionManager;
+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.server.IJBossServerPublishMethodType;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
+import org.jboss.ide.eclipse.as.core.server.internal.ServerAttributeHelper;
import org.jboss.tools.jmx.core.IMemento;
import org.jboss.tools.jmx.core.util.XMLMemento;
@@ -108,6 +111,11 @@
return children.get(deploymentType);
}
+ // prefs are all in "local" now, even for rse stuff.
+ public DeploymentTypePrefs getOrCreatePreferences() {
+ return getOrCreatePreferences(LocalPublishMethod.LOCAL_PUBLISH_METHOD);
+ }
+
public DeploymentTypePrefs getOrCreatePreferences(String deploymentType) {
if( children.get(deploymentType) == null ) {
children.put(deploymentType,
@@ -242,4 +250,12 @@
child.putString("value", val);//$NON-NLS-1$
}
}
+
+ public static void savePreferencesToServerWorkingCopy(ServerAttributeHelper helper,
DeploymentPreferences prefs) {
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ DeploymentPreferenceLoader.savePreferences(bos, prefs);
+ String asXML = new String(bos.toByteArray());
+ helper.setAttribute(DeploymentPreferenceLoader.DEPLOYMENT_PREFERENCES_KEY, asXML);
+ }
+
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/DeploymentModuleOptionCompositeAssistant.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/DeploymentModuleOptionCompositeAssistant.java 2010-11-17
03:43:10 UTC (rev 26657)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/DeploymentModuleOptionCompositeAssistant.java 2010-11-17
08:25:05 UTC (rev 26658)
@@ -12,6 +12,7 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.io.ByteArrayOutputStream;
import java.io.File;
import java.util.HashMap;
@@ -66,6 +67,7 @@
import org.jboss.ide.eclipse.as.core.server.internal.ServerAttributeHelper;
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.DeploymentPreferenceLoader;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
import org.jboss.ide.eclipse.as.ui.Messages;
@@ -772,4 +774,5 @@
}
}
}
+
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ModuleDeploymentPage.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ModuleDeploymentPage.java 2010-11-17
03:43:10 UTC (rev 26657)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ModuleDeploymentPage.java 2010-11-17
08:25:05 UTC (rev 26658)
@@ -171,10 +171,7 @@
}
public void savePreferencesToWorkingCopy() {
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- DeploymentPreferenceLoader.savePreferences(bos, preferences);
- String asXML = new String(bos.toByteArray());
- getHelper().setAttribute(DeploymentPreferenceLoader.DEPLOYMENT_PREFERENCES_KEY,
asXML);
+ DeploymentPreferenceLoader.savePreferencesToServerWorkingCopy(helper, preferences);
}
public String makeGlobal(String path) {
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 2010-11-17
03:43:10 UTC (rev 26657)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/SingleFileDeploymentTester.java 2010-11-17
08:25:05 UTC (rev 26658)
@@ -15,6 +15,12 @@
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.IJBossToolingConstants;
+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.DeploymentPreferenceLoader.DeploymentTypePrefs;
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;
@@ -68,7 +74,47 @@
}
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");
@@ -80,25 +126,28 @@
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]);
- IPath deployRoot = new Path(ServerRuntimeUtils.getDeployRoot(server));
- deployRoot.toFile().mkdirs();
- assertEquals(IOUtil.countFiles(deployRoot.toFile()), 0);
- assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 1);
+ assertEquals(IOUtil.countFiles(moduleDeployRoot.toFile()), 0);
+ assertEquals(IOUtil.countAllResources(moduleDeployRoot.toFile()), 1);
ServerRuntimeUtils.publish(server);
- assertEquals(IOUtil.countFiles(deployRoot.toFile()), 3);
- assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 4);
- File folder2 = deployRoot.toFile().listFiles()[0];
+ 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(deployRoot.toFile()), 3);
- assertEquals(IOUtil.countAllResources(deployRoot.toFile()), 4);
- folder2 = deployRoot.toFile().listFiles()[0];
+ 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);
@@ -171,4 +220,5 @@
assertEquals("3a", deploy3txt2);
}
+
}