Author: rob.stryker(a)jboss.com
Date: 2011-03-16 19:54:30 -0400 (Wed, 16 Mar 2011)
New Revision: 29835
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/IJBoss7Deployment.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7JSTPublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7Server.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/plugin.xml
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/AbstractJSTDeploymentTester.java
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/MockJSTPublisherTest.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockPublishMethod.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/LocalZippedPublisherUtil.java
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/PackagesPublisher.java
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/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractJSTPublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractServerToolsPublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/SingleFilePublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServer.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServer.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java
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/ServerPublishMethodType.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerCreationUtils.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerUtil.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.properties
trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml
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/archives/RSEZippedJSTPublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.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/ServerModeSectionComposite.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/StrippedServerWizardFragment.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.properties
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml
trunk/as/tests/org.jboss.ide.eclipse.as.test/META-INF/MANIFEST.MF
trunk/as/tests/org.jboss.ide.eclipse.as.test/build.properties
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/JSTDeployBinaryChildModuleTest.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeploymentTester.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/util/ServerRuntimeUtils.java
Log:
JBIDE-7514 jboss 7 support
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/LocalZippedPublisherUtil.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/LocalZippedPublisherUtil.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/LocalZippedPublisherUtil.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -50,6 +50,8 @@
public class LocalZippedPublisherUtil extends PublishUtil {
private String deployRoot;
+ private boolean hasBeenChanged = false;
+ private IModule[] module;
public IStatus publishModule(IServer server, String deployRoot, IModule[] module,
int publishType, IModuleResourceDelta[] delta,
@@ -58,6 +60,7 @@
monitor.beginTask(name, 200);
monitor.setTaskName(name);
this.deployRoot = deployRoot;
+ this.module = module;
IStatus[] returnStatus;
@@ -183,6 +186,7 @@
}
};
FileUtil.safeDelete(deployPath.toFile(), listener);
+ hasBeenChanged = true;
return (IStatus[]) status.toArray(new IStatus[status.size()]);
}
@@ -221,6 +225,7 @@
results.addAll(Arrays.asList(fullPublish(server, deployRoot, combine(module,
children[i]))));
}
TrueZipUtil.umount();
+ hasBeenChanged = true;
return (IStatus[]) results.toArray(new IStatus[results.size()]);
} catch( CoreException ce) {
results.add(generateCoreExceptionStatus(ce));
@@ -257,6 +262,7 @@
boolean b = f.deleteAll();
if( !b )
results.add(generateDeleteFailedStatus(f));
+ hasBeenChanged = true;
} else if( dKind == IModuleResourceDelta.NO_CHANGE ) {
results.addAll(Arrays.asList(publishChanges(server, deltas[i].getAffectedChildren(),
root)));
}
@@ -283,6 +289,7 @@
results.addAll(Arrays.asList(copy(root, mf.members())));
}
}
+ hasBeenChanged = true;
return (IStatus[]) results.toArray(new IStatus[results.size()]);
}
@@ -313,7 +320,18 @@
return retval;
}
+ public IPath getOutputFilePath() {
+ return getOutputFilePath(module);
+ }
+
public IPath getOutputFilePath(IModule[] module) {
return getDeployPath(module, deployRoot);
}
+
+ public boolean hasBeenChanged() {
+ return hasBeenChanged;
+ }
+ public IModule[] getModule() {
+ return module;
+ }
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/PackagesPublisher.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/PackagesPublisher.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/PackagesPublisher.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
+ * 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,
@@ -12,13 +12,13 @@
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
-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.server.internal.v7.JBoss7JSTPublisher;
-public class PackagesPublisher extends AbstractServerToolsPublisher {
+public class PackagesPublisher extends JBoss7JSTPublisher {
public boolean accepts(String method, IServer server, IModule[] module) {
- if( LocalPublishMethod.LOCAL_PUBLISH_METHOD.equals(method) && module != null
&& module.length > 0
- &&
PackageModuleFactory.MODULE_TYPE.equals(module[0].getModuleType().getId()))
+ if( LocalPublishMethod.LOCAL_PUBLISH_METHOD.equals(method) &&
+ verifyModuleType(module, PackageModuleFactory.MODULE_TYPE))
return true;
return false;
}
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-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/WTPZippedPublisher.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
+ * 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,
@@ -15,6 +15,8 @@
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.Status;
import org.eclipse.wst.common.componentcore.ModuleCoreNature;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
@@ -24,6 +26,8 @@
import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
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.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
@@ -48,10 +52,9 @@
}
protected String getDeployRoot(IModule[] module, IDeployableServer ds) {
- String deployRoot = PublishUtil.getDeployRootFolder(
+ return PublishUtil.getDeployRootFolder(
module, ds, ds.getDeployFolder(),
IJBossToolingConstants.LOCAL_DEPLOYMENT_LOC);
- return deployRoot;
}
public IStatus publishModule(
@@ -64,6 +67,9 @@
if( module.length > 1 )
return null;
+ if( JBoss7Server.supportsJBoss7Deployment(server))
+ return handleJBoss7Deployment(method, server, module, publishType, delta, monitor);
+
IDeployableServer ds = ServerConverter.getDeployableServer(server);
String deployRoot = getDeployRoot(module, ds);
LocalZippedPublisherUtil util = new LocalZippedPublisherUtil();
@@ -71,4 +77,26 @@
monitor.done();
return s;
}
+
+ public IStatus handleJBoss7Deployment(
+ IJBossServerPublishMethod method,
+ IServer server, IModule[] module,
+ int publishType, IModuleResourceDelta[] delta,
+ IProgressMonitor monitor) throws CoreException {
+ IDeployableServer ds = ServerConverter.getDeployableServer(server);
+ String deployRoot = getDeployRoot(module, ds);
+ if( publishType == IJBossServerPublisher.REMOVE_PUBLISH) {
+ JBoss7JSTPublisher.removeDeployedMarkerFile(method, ds, module, monitor);
+ } else {
+ LocalZippedPublisherUtil util = new LocalZippedPublisherUtil();
+ IStatus s = util.publishModule(server, deployRoot, module, publishType, delta,
monitor);
+ if( util.hasBeenChanged()) {
+ JBoss7JSTPublisher.addDoDeployMarkerFile(method, ds, module, new
NullProgressMonitor());
+ }
+ monitor.done();
+ return s;
+ }
+ monitor.done();
+ return Status.OK_STATUS;
+ }
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/META-INF/MANIFEST.MF 2011-03-16
22:17:26 UTC (rev 29834)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/META-INF/MANIFEST.MF 2011-03-16
23:54:30 UTC (rev 29835)
@@ -35,6 +35,7 @@
org.jboss.ide.eclipse.as.core.server.bean,
org.jboss.ide.eclipse.as.core.server.internal,
org.jboss.ide.eclipse.as.core.server.internal.launch,
+ org.jboss.ide.eclipse.as.core.server.internal.v7,
org.jboss.ide.eclipse.as.core.server.xpl,
org.jboss.ide.eclipse.as.core.util
Bundle-ClassPath: dom4j-1.6.1.jar,
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -32,12 +32,12 @@
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.Messages;
import
org.jboss.ide.eclipse.as.core.extensions.descriptors.XPathFileResult.XPathResultNode;
-import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
import org.jboss.ide.eclipse.as.core.server.UnitedServerListener;
import org.jboss.ide.eclipse.as.core.server.internal.LocalJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.server.internal.ServerAttributeHelper;
import org.jboss.ide.eclipse.as.core.util.IConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
+import org.jboss.ide.eclipse.as.core.util.ServerUtil;
import org.jboss.tools.jmx.core.IMemento;
import org.jboss.tools.jmx.core.util.XMLMemento;
@@ -73,24 +73,39 @@
final IServer server2 = server;
new Job(Messages.AddXPathDetailsJob) {
protected IStatus run(IProgressMonitor monitor) {
-
if(server2==null || server2.getRuntime()==null) {
return Status.OK_STATUS; // server has no runtime so we can't set this up.
}
- LocalJBossServerRuntime ajbsr = (LocalJBossServerRuntime)
- server2.getRuntime().loadAdapter(LocalJBossServerRuntime.class, null);
- if(ajbsr != null ) {
- IPath configFolder = ajbsr.getConfigurationFullPath();
- ArrayList<XPathCategory> defaults = loadDefaults(server2,
configFolder.toOSString());
- serverToCategories.put(server2.getId(), defaults);
- save(server2);
+ if( ServerUtil.isJBoss7(server2)) {
+ return handleAddJBoss7XPaths(server2);
+ } else {
+ return handleAddJBossXPaths(server2);
}
- return Status.OK_STATUS;
}
}.schedule();
}
+ private IStatus handleAddJBoss7XPaths(IServer server2) {
+ // TODO
+ return Status.OK_STATUS;
+ }
+
+ private IStatus handleAddJBossXPaths(IServer server2) {
+ LocalJBossServerRuntime ajbsr = (LocalJBossServerRuntime)
+ server2.getRuntime().loadAdapter(LocalJBossServerRuntime.class, null);
+ if(ajbsr != null ) {
+ IPath configFolder = ajbsr.getConfigurationFullPath();
+ if( configFolder != null ) {
+ ArrayList<XPathCategory> defaults = loadDefaults(server2,
configFolder.toOSString());
+ serverToCategories.put(server2.getId(), defaults);
+ save(server2);
+ }
+ }
+ return Status.OK_STATUS;
+ }
+
+
public XPathQuery getQuery(IServer server, IPath path) {
XPathCategory cat = getCategory(server, path.segment(0));
if( cat != null )
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractJSTPublisher.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractJSTPublisher.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractJSTPublisher.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -13,13 +13,20 @@
import org.eclipse.wst.common.componentcore.ModuleCoreNature;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
-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.util.ServerConverter;
public abstract class AbstractJSTPublisher extends AbstractServerToolsPublisher {
public AbstractJSTPublisher() {}
+ public boolean verifyModuleType(IModule[] module, String type) {
+ if( module != null && module.length > 0
+ && module[module.length-1] != null
+ && module[module.length-1].getModuleType().getId().equals(type))
+ return true;
+ return false;
+ }
+
/**
* This abstract publisher is only suitable for non force-zipped deployments
*/
@@ -45,7 +52,9 @@
* Get the publish method this publisher is associated with
* @return
*/
- protected abstract String getTargetedPublishMethodId();
+ protected String getTargetedPublishMethodId() {
+ return null;
+ }
/**
* JST projects require certain children (utility, etc) to be zipped up
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractServerToolsPublisher.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractServerToolsPublisher.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractServerToolsPublisher.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
+ * 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,
@@ -134,9 +134,10 @@
* @param server
* @param monitor
*/
- protected void finishPublish(int publishType, IModule[] moduleTree, IDeployableServer
server, IProgressMonitor monitor){}
+ protected void finishPublish(int publishType, IModule[] moduleTree, IDeployableServer
server, IProgressMonitor monitor){
+ }
- private IPublishCopyCallbackHandler getCallbackHandler(IPath path) {
+ protected IPublishCopyCallbackHandler getCallbackHandler(IPath path) {
return publishMethod.getCallbackHandler(path, server.getServer());
}
@@ -159,7 +160,7 @@
monitor.beginTask("Full Publish: " +
moduleTree[moduleTree.length-1].getName(), 1000); //$NON-NLS-1$
IPath deployPath = getDeployPath(moduleTree, server);
- IPublishCopyCallbackHandler callback = getCallbackHandler(deployPath);
+ IPublishCopyCallbackHandler callback =
getCallbackHandler(getRootPath(deployPath).append(deployPath));
IModuleResource[] members = PublishUtil.getResources(module, getSubMon(monitor, 200));
if( monitor.isCanceled())
@@ -168,7 +169,7 @@
// First delete it
// if the module we're publishing is a project, not a binary, clean it's
folder
//if( !(new Path(module.getName()).segmentCount() > 1 ))
- if( !ServerModelUtilities.isBinaryModule(module))
+ //if( !ServerModelUtilities.isBinaryModule(module))
callback.deleteResource(new Path("/"), getSubMon(monitor, 100));
//$NON-NLS-1$
if( monitor.isCanceled())
@@ -194,8 +195,8 @@
File temp = deployRoot.toFile().createTempFile(module.getName(), ".tmp",
deployRoot.toFile()); //$NON-NLS-1$
IPath tempFile = new Path(temp.getAbsolutePath());
list.addAll(Arrays.asList(PublishUtil.packModuleIntoJar(moduleTree[moduleTree.length-1],
tempFile)));
+ String parentFolder = deployPath.removeLastSegments(1).toString();
IPublishCopyCallbackHandler handler = getCallbackHandler(getRootPath(deployPath));
- String parentFolder = deployPath.removeLastSegments(1).toString();
handler.makeDirectoryIfRequired(new Path(parentFolder), getSubMon(monitor, 200));
ModuleFile mf = new ModuleFile(tempFile.toFile(), tempFile.lastSegment(), tempFile);
handler.copyFile(mf, deployPath, getSubMon(monitor, 500));
@@ -308,8 +309,8 @@
IProgressMonitor monitor) throws CoreException {
monitor.beginTask("Removing Module: " + module[module.length-1].getName(),
100); //$NON-NLS-1$
IPath remotePath = getDeployPath(module, server);
- IPublishCopyCallbackHandler handler = getCallbackHandler(getRootPath(remotePath));
- handler.deleteResource(remotePath, getSubMon(monitor, 100));
+ IPublishCopyCallbackHandler handler =
getCallbackHandler(getRootPath(remotePath).append(remotePath));
+ handler.deleteResource(new Path("/"), getSubMon(monitor, 100));
//$NON-NLS-1$
monitor.done();
return Status.OK_STATUS;
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/SingleFilePublisher.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/SingleFilePublisher.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/SingleFilePublisher.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * 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,
@@ -15,21 +15,21 @@
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.modules.SingleDeployableFactory;
import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
+import org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7JSTPublisher;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
import org.jboss.ide.eclipse.as.wtp.core.modules.IJBTModule;
-public class SingleFilePublisher extends AbstractServerToolsPublisher {
+public class SingleFilePublisher extends JBoss7JSTPublisher {
+ protected boolean forceZipModule(IModule[] moduleTree) {
+ return false;
+ }
+
public boolean accepts(String method, IServer server, IModule[] module) {
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())
- if( del != null ) {
- if( del.isBinary() || !ds.zipsWTPDeployments())
- return true;
+ if( verifyModuleType(module, SingleDeployableFactory.MODULE_TYPE)) {
+ IJBTModule del = (IJBTModule)module[module.length-1].loadAdapter(IJBTModule.class, new
NullProgressMonitor());
+ if( del != null && (del.isBinary() || !ds.zipsWTPDeployments())) {
+ return true;
}
}
return false;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServer.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServer.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServer.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * 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,
@@ -41,6 +41,8 @@
IRuntime rt = getServer().getRuntime();
if( rt != null ) {
getServerWorkingCopy().setName(ServerUtil.getDefaultServerName(rt));
+ } else {
+ getServerWorkingCopy().setName(ServerUtil.getDefaultServerName(getServer().getServerType().getName()));
}
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServerBehavior.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServerBehavior.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServerBehavior.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.core.server.internal;
+import java.util.HashMap;
import java.util.List;
import org.eclipse.core.runtime.CoreException;
@@ -46,10 +47,12 @@
protected IJBossServerPublishMethod method;
+ protected HashMap<String, Object> publishTaskModel;
protected void publishStart(IProgressMonitor monitor) throws CoreException {
if( method != null )
throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
"Already publishing")); //$NON-NLS-1$
method = createPublishMethod();
+ publishTaskModel = new HashMap<String, Object>();
method.publishStart(this, monitor);
}
@@ -58,9 +61,21 @@
throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
"Not publishing")); //$NON-NLS-1$
int result = method.publishFinish(this, monitor);
setServerPublishState(result);
+ publishTaskModel = null;
method = null;
}
+ public void setPublishData(String key, Object val) {
+ if( publishTaskModel != null )
+ publishTaskModel.put(key, val);
+ }
+
+ public Object getPublishData(String key) {
+ if( publishTaskModel != null )
+ return publishTaskModel.get(key);
+ return null;
+ }
+
protected void publishModule(int kind, int deltaKind, IModule[] module, IProgressMonitor
monitor) throws CoreException {
if( method == null )
throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
"Not publishing")); //$NON-NLS-1$
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServer.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServer.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServer.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * 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,
@@ -73,9 +73,22 @@
}
public String getDeployFolder() {
- return getDeployFolder(this, getDeployLocationType());
+ return getDeployFolder(getDeployLocationType());
}
+ public String getDeployFolder(String type) {
+ return getDeployFolder(this, type);
+ }
+
+ /**
+ * No changes will be made to this API and new server
+ * types are expected to subclass the getDeployFolder() api's
+ *
+ * @param jbs
+ * @param type
+ * @return
+ */
+ @Deprecated
public static String getDeployFolder(JBossServer jbs, String type) {
IServer server = jbs.getServer();
IJBossServerRuntime jbsrt = getRuntime(server);
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * 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,
@@ -16,6 +16,7 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethodType;
import
org.jboss.ide.eclipse.as.core.server.internal.launch.JBossServerStartupLaunchConfiguration;
@@ -112,6 +113,12 @@
super.publishFinish(monitor);
}
+ public boolean shouldSuspendScanner() {
+ if( getServer().getServerState() != IServer.STATE_STARTED)
+ return false;
+ return true;
+ }
+
// Can start / stop / restart etc
public IStatus canStart(String launchMode) {
return canChangeState(launchMode);
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * 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,
@@ -209,9 +209,7 @@
}
protected boolean shouldSuspendScanner() {
- if( getServer().getServerState() != IServer.STATE_STARTED)
- return false;
- return true;
+ return getActualBehavior().shouldSuspendScanner();
}
protected void suspendDeployment(final MBeanServerConnection connection,
IProgressMonitor monitor) throws Exception {
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-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerListener.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * 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,
@@ -46,7 +46,9 @@
}
public void serverAdded(IServer server) {
- ServerUtil.createStandardFolders(server);
+ // TODO clean up this interface call
+ if( !ServerUtil.isJBoss7(server))
+ ServerUtil.createStandardFolders(server);
}
public void serverRemoved(IServer server) {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerPublishMethodType.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerPublishMethodType.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerPublishMethodType.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
+ * 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,
@@ -14,6 +14,7 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IContributor;
import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethod;
import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethodType;
@@ -24,6 +25,7 @@
private IConfigurationElement element;
public ServerPublishMethodType(IConfigurationElement element) {
this.element = element;
+ IContributor c = element.getContributor();
this.typeId = element.getAttribute("id"); //$NON-NLS-1$
this.name = element.getAttribute("name"); //$NON-NLS-1$
String tmp = element.getAttribute("serverTypes"); //$NON-NLS-1$
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/IJBoss7Deployment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/IJBoss7Deployment.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/IJBoss7Deployment.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.core.server.internal.v7;
+
+/**
+ * A marker interface for any app server which supports jb7 style deployment
+ *
+ */
+public interface IJBoss7Deployment {
+
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7JSTPublisher.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7JSTPublisher.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7JSTPublisher.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -0,0 +1,161 @@
+/*******************************************************************************
+ * 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
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.core.server.internal.v7;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.ArrayList;
+
+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.AbstractJSTPublisher;
+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.IJBossServerPublishMethod;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
+import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
+import
org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil.IPublishCopyCallbackHandler;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+
+public class JBoss7JSTPublisher extends AbstractJSTPublisher {
+ // Same as super class but just a *bit* different
+ public boolean accepts(String method, IServer server, IModule[] module) {
+ return super.accepts(method, server, module) &&
server.loadAdapter(JBoss7Server.class, new NullProgressMonitor()) != null;
+ }
+
+ public static final String DO_DEPLOY = ".dodeploy"; //$NON-NLS-1$
+ public static final String DEPLOYING = ".deploying"; //$NON-NLS-1$
+ public static final String DEPLOYED = ".isdeployed"; //$NON-NLS-1$
+ public static final String FAILED_DEPLOY = ".faileddeploy"; //$NON-NLS-1$
+ public static final String UNDEPLOYING = ".undeploying"; //$NON-NLS-1$
+ public static final String UNDEPLOYED = ".undeployed"; //$NON-NLS-1$
+
+ public IStatus publishModule(
+ IJBossServerPublishMethod method,
+ IServer server, IModule[] module,
+ int publishType, IModuleResourceDelta[] delta,
+ IProgressMonitor monitor) throws CoreException {
+ if( !JBoss7Server.supportsJBoss7Deployment(server))
+ return super.publishModule(method, server, module, publishType, delta, monitor);
+
+ // jboss-7 specific
+ IDeployableServer ds = ServerConverter.getDeployableServer(server);
+ if( publishType == IJBossServerPublisher.REMOVE_PUBLISH) {
+ JBoss7JSTPublisher.removeDeployedMarkerFile(method, ds, module, monitor);
+ } else {
+ IStatus s = super.publishModule(method, server, module, publishType, delta, monitor);
+ if( publishType == IJBossServerPublisher.FULL_PUBLISH && module.length == 1)
{
+ // Only mark a doDeploy file for the root module, but this must be delayed,
+ // becuase we don't know how many children modules will get published here
(SUCK)
+ JBoss7JSTPublisher.markDeployed(method, ds, module, monitor);
+ }
+ return s;
+ }
+ return Status.OK_STATUS;
+ }
+
+
+ public static final String MARK_DO_DEPLOY =
"org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7JSTPublisher.markUndeploy";
//$NON-NLS-1$
+// public static final String MARK_UNDEPLOY =
"org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7JSTPublisher.markUndeploy";
//$NON-NLS-1$
+
+ public static void markDeployed(IJBossServerPublishMethod method,IDeployableServer
server,
+ IModule[] moduleTree, IProgressMonitor monitor ) throws CoreException {
+ IPath p = PublishUtil.getDeployPath(method, moduleTree, server);
+ DeployableServerBehavior beh =
ServerConverter.getDeployableServerBehavior(server.getServer());
+ Object o = beh.getPublishData(MARK_DO_DEPLOY);
+ if( o == null || !(o instanceof ArrayList<?>)) {
+ o = new ArrayList<IPath>();
+ beh.setPublishData(MARK_DO_DEPLOY, o);
+ }
+ ArrayList<IPath> list = (ArrayList<IPath>)o;
+ if( !list.contains(p))
+ list.add(p);
+ }
+
+// public static void markUndeployed(
+// IJBossServerPublishMethod method,
+// IDeployableServer server, IModule[] moduleTree,
+// IProgressMonitor monitor) throws CoreException {
+// IPath p = PublishUtil.getDeployPath(method, moduleTree, server);
+// DeployableServerBehavior beh =
ServerConverter.getDeployableServerBehavior(server.getServer());
+// Object o = beh.getPublishData(MARK_UNDEPLOY);
+// if( o == null || !(o instanceof ArrayList<?>)) {
+// o = new ArrayList<IPath>();
+// beh.setPublishData(MARK_UNDEPLOY, o);
+// }
+// ArrayList<IPath> list = (ArrayList<IPath>)o;
+// if( !list.contains(p))
+// list.add(p);
+// }
+
+ public static IStatus addDoDeployMarkerFile(IJBossServerPublishMethod
method,IDeployableServer server,
+ IModule[] moduleTree, IProgressMonitor monitor ) throws CoreException {
+ IPath depPath = PublishUtil.getDeployPath(method, moduleTree, server);
+ return addDoDeployMarkerFile(method, server.getServer(), depPath, monitor);
+ }
+
+ public static IStatus addDoDeployMarkerFile(IJBossServerPublishMethod method,IServer
server,
+ IPath depPath, IProgressMonitor monitor ) throws CoreException {
+ IPath folder = depPath.removeLastSegments(1);
+ IPublishCopyCallbackHandler callback = method.getCallbackHandler(folder, server);
+ callback.copyFile(createBlankModuleFile(), new Path(depPath.lastSegment() + DO_DEPLOY),
monitor);
+ return Status.OK_STATUS;
+ }
+
+
+ public static IStatus removeDeployedMarkerFile(
+ IJBossServerPublishMethod method,
+ IDeployableServer jbServer, IModule[] module,
+ IProgressMonitor monitor) throws CoreException {
+ IPath depPath = PublishUtil.getDeployPath(method, module, jbServer);
+ return removeDeployedMarkerFile(jbServer.getServer(), depPath, method, monitor);
+ }
+ public static IStatus removeDeployedMarkerFile(
+ IServer server, IPath depPath,
+ IJBossServerPublishMethod method,
+ IProgressMonitor monitor) throws CoreException {
+ IPath folder = depPath.removeLastSegments(1);
+ IPublishCopyCallbackHandler callback = method.getCallbackHandler(folder, server);
+ IPath deployed = new Path(depPath.lastSegment()+DEPLOYED);
+ callback.deleteResource(deployed, monitor);
+ return Status.OK_STATUS;
+ }
+
+
+ public static IModuleFile createBlankModuleFile() {
+ return new ModuleFile(getBlankFile(), "", new Path("/"));
//$NON-NLS-1$ //$NON-NLS-2$
+ }
+ protected static File getBlankFile() {
+ IPath p =
JBossServerCorePlugin.getDefault().getStateLocation().append("BLANK_FILE");
//$NON-NLS-1$
+ if( !p.toFile().exists()) {
+ try {
+ OutputStream out = new FileOutputStream(p.toFile());
+ if (out != null) {
+ out.close();
+ }
+ } catch(IOException ioe) {}
+ }
+ return p.toFile();
+ }
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7Server.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7Server.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7Server.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * 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
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.core.server.internal.v7;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
+
+public class JBoss7Server extends JBossServer implements IJBoss7Deployment {
+ public void setDefaults(IProgressMonitor monitor) {
+ super.setDefaults(monitor);
+ setAttribute(DEPLOY_DIRECTORY_TYPE, DEPLOY_CUSTOM);
+ setAttribute(IJBossToolingConstants.WEB_PORT_DETECT, false);
+ setAttribute(IJBossToolingConstants.WEB_PORT,
IJBossToolingConstants.JBOSS_WEB_DEFAULT_PORT);
+ }
+ public boolean hasJMXProvider() {
+ return false;
+ }
+ public String getDeployFolder(String type) {
+ if( type.equals(DEPLOY_SERVER) ) {
+ // TODO make sure this is correct?! Upstream APIs have this wrong
+ }
+ return getDeployFolder(this, type);
+ }
+
+
+ public static boolean supportsJBoss7Deployment(IServer server) {
+ if( server.loadAdapter(IJBoss7Deployment.class, new NullProgressMonitor()) != null )
+ return true;
+ return false;
+ }
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * 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
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.core.server.internal.v7;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+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.Status;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.wst.server.core.IModule;
+import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
+import org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+
+public class JBoss7ServerBehavior extends JBossServerBehavior {
+ public void stop(boolean force) {
+ setServerStopped();
+ }
+
+ public boolean shouldSuspendScanner() {
+ return false;
+ }
+
+ public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy,
IProgressMonitor monitor) throws CoreException {
+ //super.setupLaunchConfiguration(workingCopy, monitor);
+ }
+
+ @Override
+ protected void publishModule(int kind, int deltaKind, IModule[] module, IProgressMonitor
monitor) throws CoreException {
+ if( method == null )
+ throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
"Not publishing")); //$NON-NLS-1$
+ int result = method.publishModule(this, kind, deltaKind, module, monitor);
+ setModulePublishState(module, result);
+ }
+
+ @Override
+ protected void publishFinish(IProgressMonitor monitor) throws CoreException {
+ if( method == null )
+ throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
"Not publishing")); //$NON-NLS-1$
+ // Handle the dodeploy
+ DeployableServerBehavior beh =
ServerConverter.getDeployableServerBehavior(getServer());
+ Object o = beh.getPublishData(JBoss7JSTPublisher.MARK_DO_DEPLOY);
+ if( o != null && (o instanceof ArrayList<?>)) {
+ ArrayList<IPath> l = (ArrayList<IPath>)o;
+ int size = l.size();
+ monitor.beginTask("Completing Publishes", size+1); //$NON-NLS-1$
+ Iterator<IPath> i = l.iterator();
+ IPath p;
+ while(i.hasNext()) {
+ JBoss7JSTPublisher.addDoDeployMarkerFile(method, getServer(), i.next(), new
SubProgressMonitor(monitor, 1));
+ }
+ super.publishFinish(new SubProgressMonitor(monitor, 1));
+ } else
+ super.publishFinish(monitor);
+ }
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * 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
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.core.server.internal.v7;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
+import org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior;
+import
org.jboss.ide.eclipse.as.core.server.internal.launch.JBossServerStartupLaunchConfiguration;
+import
org.jboss.ide.eclipse.as.core.server.internal.launch.LocalJBossServerStartupLaunchUtil;
+
+public class JBoss7ServerStartupLaunchConfiguration extends
+ JBossServerStartupLaunchConfiguration implements
+ ILaunchConfigurationDelegate {
+ public void actualLaunch(ILaunchConfiguration configuration,
+ String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
+ //super.actualLaunch(configuration, mode, launch, monitor);
+ }
+ public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode,
IProgressMonitor monitor) throws CoreException {
+ //super.preLaunch(configuration, mode, launch, monitor);
+ return true;
+ }
+ public void preLaunch(ILaunchConfiguration configuration,
+ String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
+ //super.preLaunch(configuration, mode, launch, monitor);
+ try {
+ JBossServerBehavior jbsBehavior =
LocalJBossServerStartupLaunchUtil.getServerBehavior(configuration);
+ jbsBehavior.setRunMode(mode);
+ jbsBehavior.serverStarting();
+ } catch( CoreException ce ) {
+ // report it
+ }
+ }
+ public void postLaunch(ILaunchConfiguration configuration, String mode,
+ ILaunch launch, IProgressMonitor monitor) throws CoreException {
+ //super.postLaunch(configuration, mode, launch, monitor);
+ try {
+ JBossServerBehavior jbsBehavior =
LocalJBossServerStartupLaunchUtil.getServerBehavior(configuration);
+ jbsBehavior.setRunMode(mode);
+ jbsBehavior.setServerStarted();
+ } catch( CoreException ce ) {
+ // report it
+ }
+ }
+
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * 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
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.core.server.internal.v7;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.jboss.ide.eclipse.as.core.server.internal.LocalJBossServerRuntime;
+
+public class LocalJBoss7ServerRuntime extends LocalJBossServerRuntime {
+ // TODO
+ @Override
+ public IStatus validate() {
+ return Status.OK_STATUS;
+ }
+}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * 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,
@@ -23,6 +23,7 @@
public static final String AS_50 = "org.jboss.ide.eclipse.as.runtime.50";
//$NON-NLS-1$
public static final String AS_51 = "org.jboss.ide.eclipse.as.runtime.51";
//$NON-NLS-1$
public static final String AS_60 = "org.jboss.ide.eclipse.as.runtime.60";
//$NON-NLS-1$
+ public static final String AS_70 = "org.jboss.ide.eclipse.as.runtime.70";
//$NON-NLS-1$
public static final String EAP_43 = "org.jboss.ide.eclipse.as.runtime.eap.43";
//$NON-NLS-1$
public static final String EAP_50 = "org.jboss.ide.eclipse.as.runtime.eap.50";
//$NON-NLS-1$
@@ -32,6 +33,7 @@
public static final String SERVER_AS_50 = "org.jboss.ide.eclipse.as.50";
//$NON-NLS-1$
public static final String SERVER_AS_51 = "org.jboss.ide.eclipse.as.51";
//$NON-NLS-1$
public static final String SERVER_AS_60 = "org.jboss.ide.eclipse.as.60";
//$NON-NLS-1$
+ public static final String SERVER_AS_70 = "org.jboss.ide.eclipse.as.70";
//$NON-NLS-1$
public static final String SERVER_EAP_43 = "org.jboss.ide.eclipse.as.eap.43";
//$NON-NLS-1$
public static final String SERVER_EAP_50 = "org.jboss.ide.eclipse.as.eap.50";
//$NON-NLS-1$
@@ -48,6 +50,7 @@
public static final String V5_0 = "5.0"; //$NON-NLS-1$
public static final String V5_1 = "5.1"; //$NON-NLS-1$
public static final String V6_0 = "6.0"; //$NON-NLS-1$
+ public static final String V7_0 = "7.0"; //$NON-NLS-1$
/* Files or folders inside the TOOLING */
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerCreationUtils.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerCreationUtils.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerCreationUtils.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -32,6 +32,7 @@
runtimeServerTypeMap.put(IJBossToolingConstants.AS_50,
IJBossToolingConstants.SERVER_AS_50);
runtimeServerTypeMap.put(IJBossToolingConstants.AS_51,
IJBossToolingConstants.SERVER_AS_51);
runtimeServerTypeMap.put(IJBossToolingConstants.AS_60,
IJBossToolingConstants.SERVER_AS_60);
+ runtimeServerTypeMap.put(IJBossToolingConstants.AS_70,
IJBossToolingConstants.SERVER_AS_70);
runtimeServerTypeMap.put(IJBossToolingConstants.EAP_43,
IJBossToolingConstants.SERVER_EAP_43);
runtimeServerTypeMap.put(IJBossToolingConstants.EAP_50,
IJBossToolingConstants.SERVER_EAP_50);
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerUtil.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerUtil.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerUtil.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * 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,
@@ -48,8 +48,11 @@
}
public static IPath makeGlobal(IJBossServerRuntime rt, IPath p) {
- if( !p.isAbsolute() && rt != null) {
- return rt.getRuntime().getLocation().append(p).makeAbsolute();
+ if( !p.isAbsolute() ) {
+ if( rt != null && rt.getRuntime() != null &&
rt.getRuntime().getLocation() != null ) {
+ return rt.getRuntime().getLocation().append(p).makeAbsolute();
+ }
+ return p.makeAbsolute();
}
return p;
}
@@ -77,6 +80,10 @@
// }
// }
+ public static boolean isJBoss7(IServer server) {
+ return server.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70);
+ }
+
public static void createStandardFolders(IServer server) {
// create metadata area
File location = JBossServerCorePlugin.getServerStateLocation(server).toFile();
@@ -84,7 +91,7 @@
// create temp deploy folder
JBossServer ds = ( JBossServer)server.loadAdapter(JBossServer.class, null);
- if( ds != null ) {
+ if( ds != null && !isJBoss7(server)) {
File d1 = new File(location, IJBossServerConstants.DEPLOY);
File d2 = new File(location, IJBossServerConstants.TEMP_DEPLOY);
d1.mkdirs();
@@ -95,12 +102,14 @@
new File(ds.getTempDeployFolder()).mkdirs();
IRuntime rt = server.getRuntime();
IJBossServerRuntime jbsrt =
(IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, new
NullProgressMonitor());
- String config = jbsrt.getJBossConfiguration();
- IPath newTemp = new Path(IJBossServerConstants.SERVER).append(config)
- .append(IJBossServerConstants.TMP)
- .append(IJBossServerConstants.JBOSSTOOLS_TMP).makeRelative();
- IPath newTempAsGlobal = ServerUtil.makeGlobal(jbsrt, newTemp);
- newTempAsGlobal.toFile().mkdirs();
+ if( jbsrt != null ) {
+ String config = jbsrt.getJBossConfiguration();
+ IPath newTemp = new Path(IJBossServerConstants.SERVER).append(config)
+ .append(IJBossServerConstants.TMP)
+ .append(IJBossServerConstants.JBOSSTOOLS_TMP).makeRelative();
+ IPath newTempAsGlobal = ServerUtil.makeGlobal(jbsrt, newTemp);
+ newTempAsGlobal.toFile().mkdirs();
+ }
}
}
@@ -121,6 +130,9 @@
else
base = NLS.bind(Messages.serverName, runtimeName);
+ return getDefaultServerName( base);
+ }
+ public static String getDefaultServerName( String base) {
if( ServerUtil.findServer(base) == null ) return base;
int i = 1;
while( ServerUtil.findServer(
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.properties
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.properties 2011-03-16 22:17:26
UTC (rev 29834)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.properties 2011-03-16 23:54:30
UTC (rev 29835)
@@ -28,6 +28,10 @@
jboss.version.60.description=JBoss Application Server 6.0
jboss.version.60.runtime.name=JBoss 6.0 Runtime
+jboss.version.70.name=JBoss AS 7.0
+jboss.version.70.description=JBoss Application Server 7.0
+jboss.version.70.runtime.name=JBoss 7.0 Runtime
+
jboss.eap.version.43.name=JBoss Enterprise Application Platform 4.3
jboss.eap.version.43.description=JBoss Enterprise Application Platform (EAP) 4.3
jboss.eap.version.43.runtime.name=JBoss Enterprise Application Platform 4.3 Runtime
@@ -47,5 +51,5 @@
AllJBossRuntimeTypes=org.jboss.ide.eclipse.as.runtime.32,org.jboss.ide.eclipse.as.runtime.40,org.jboss.ide.eclipse.as.runtime.42,org.jboss.ide.eclipse.as.runtime.50,org.jboss.ide.eclipse.as.runtime.51,org.jboss.ide.eclipse.as.runtime.60,org.jboss.ide.eclipse.as.runtime.eap.43,org.jboss.ide.eclipse.as.runtime.eap.50
AllJBossServerTypes=org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.60,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50
-AllJBTServerTypes=org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.60,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50,org.jboss.ide.eclipse.as.systemCopyServer
+AllJBTServerTypes=org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.60,org.jboss.ide.eclipse.as.70,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50,org.jboss.ide.eclipse.as.systemCopyServer
ServerTypesJBoss6OrHigher=org.jboss.ide.eclipse.as.60
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml 2011-03-16 22:17:26 UTC (rev
29834)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml 2011-03-16 23:54:30 UTC (rev
29835)
@@ -112,6 +112,23 @@
supportsRemoteHosts="true"/>
<serverType
+
behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7ServerBehavior"
+
class="org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7Server"
+ description="%jboss.version.70.description"
+ hasConfiguration="false"
+ id="org.jboss.ide.eclipse.as.70"
+ initialState="stopped"
+
launchConfigId="org.jboss.ide.eclipse.as.core.server.JBoss7StartupConfiguration"
+ launchModes="run,debug,profile"
+ name="%jboss.version.70.name"
+ runtime="true"
+ runtimeTypeId="org.jboss.ide.eclipse.as.runtime.70"
+ startBeforePublish="false"
+ startTimeout="450000"
+ stopTimeout="450000"
+ supportsRemoteHosts="true"/>
+
+ <serverType
behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior"
class="org.jboss.ide.eclipse.as.core.server.internal.JBossServer"
description="%jboss.eap.version.43.description"
@@ -394,6 +411,52 @@
<runtimeType
+ vendor="%providerName"
+
class="org.jboss.ide.eclipse.as.core.server.internal.v7.LocalJBoss7ServerRuntime"
+ description="%jboss.version.70.description"
+ name="%jboss.version.70.runtime.name"
+ id="org.jboss.ide.eclipse.as.runtime.70"
+ version="7.0">
+ <moduleType
+ types="jst.appclient"
+ versions="5.0, 6.0"/>
+ <moduleType
+ types="jst.web"
+ versions="2.2, 2.3, 2.4, 2.5, 3.0"/>
+ <moduleType
+ types="jst.ejb"
+ versions="1.0, 1.1, 2.0, 2.1, 3.0, 3.1"/>
+ <moduleType
+ types="jst.ear"
+ versions="1.2, 1.3, 1.4, 5.0, 6.0"/>
+ <moduleType
+ types="jst.connector"
+ versions="1.0, 1.5, 1.6"/>
+ <moduleType
+ types="jst.utility"
+ versions="1.0"/>
+ <moduleType
+ types="jboss.package"
+ versions="1.0"/>
+ <moduleType
+ types="jboss.singlefile"
+ versions="1.0"/>
+ <moduleType
+ types="jst.jboss.esb"
+ versions="4.2,4.3,4.4,4.5,4.6,4.7,4.9">
+ </moduleType>
+ <moduleType
+ types="jbt.bpel.module"
+ versions="1.1, 2.0">
+ </moduleType>
+ <moduleType
+ types="bpel.module"
+ versions="1.1, 2.0">
+ </moduleType>
+ </runtimeType>
+
+
+ <runtimeType
vendor="%enterpriseProviderName"
class="org.jboss.ide.eclipse.as.core.server.internal.LocalJBossServerRuntime"
description="%jboss.eap.version.43.description"
@@ -533,6 +596,15 @@
sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
sourcePathComputerId="org.eclipse.jst.server.generic.core.sourcePathComputer"/>
<launchConfigurationType
+ category="JBoss"
+
delegate="org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7ServerStartupLaunchConfiguration"
+
id="org.jboss.ide.eclipse.as.core.server.JBoss7StartupConfiguration"
+ modes="run,debug,profile"
+ name="JBoss Application Server Startup Configuration"
+ public="true"
+
sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
+
sourcePathComputerId="org.eclipse.jst.server.generic.core.sourcePathComputer"/>
+ <launchConfigurationType
delegate="org.jboss.ide.eclipse.as.core.server.internal.launch.TwiddleLaunchConfiguration"
id="org.jboss.ide.eclipse.as.core.server.twiddleConfiguration"
modes="run"
@@ -653,6 +725,10 @@
runtimeTypeId="org.jboss.ide.eclipse.as.runtime.60"
runtime-component="org.jboss.ide.eclipse.as.runtime.component"
version="6.0"/>
+ <runtimeFacetMapping
+ runtimeTypeId="org.jboss.ide.eclipse.as.runtime.70"
+ runtime-component="org.jboss.ide.eclipse.as.runtime.component"
+ version="7.0"/>
<runtimeFacetMapping
runtimeTypeId="org.jboss.ide.eclipse.as.runtime.stripped"
runtime-component="org.jboss.ide.eclipse.as.runtime.stripped.component"
@@ -747,6 +823,9 @@
<runtime-component-version
type="org.jboss.ide.eclipse.as.runtime.component"
version="6.0"/>
+ <runtime-component-version
+ type="org.jboss.ide.eclipse.as.runtime.component"
+ version="7.0"/>
<supported>
@@ -829,6 +908,20 @@
<facet id="jbt.bpel.facet.core" version="1.2,2.0"/>
</supported>
+ <supported>
+ <runtime-component
+ id="org.jboss.ide.eclipse.as.runtime.component"
+ version="7.0"/>
+ <facet id="jst.web" version="2.2,2.3,2.4,2.5,3.0"/>
+ <facet id="jst.java" version="5.0,6.0"/>
+ <facet id="jst.utility" version="1.0"/>
+ <facet id="jst.connector" version="1.0,1.5,1.6"/>
+ <facet id="jst.ejb" version="2.0,2.1,3.0,3.1"/>
+ <facet id="jst.ear" version="1.2,1.3,1.4,5.0,6.0"/>
+ <facet id="jst.appclient"
version="1.2,1.3,1.4,5.0,6.0"/>
+ <facet id="jbt.bpel.facet.core" version="1.2,2.0"/>
+ </supported>
+
</extension>
@@ -885,6 +978,16 @@
</default-facets>
<default-facets>
<runtime-component
+ id="org.jboss.ide.eclipse.as.runtime.component"
+ version="7.0">
+ </runtime-component>
+ <facet
+ id="jst.java"
+ version="6.0">
+ </facet>
+ </default-facets>
+ <default-facets>
+ <runtime-component
id="org.jboss.ide.eclipse.eap.runtime.component"
version="4.3">
</runtime-component>
@@ -1001,6 +1104,10 @@
priority="7">
</publisher>
<publisher
+
class="org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7JSTPublisher"
+ priority="6">
+ </publisher>
+ <publisher
class="org.jboss.ide.eclipse.as.core.publishers.JstPublisher"
priority="5">
</publisher>
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-03-16 22:17:26 UTC
(rev 29834)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/plugin.xml 2011-03-16 23:54:30 UTC
(rev 29835)
@@ -8,7 +8,7 @@
class="org.jboss.ide.eclipse.as.rse.core.RSEPublishMethod"
id="rse"
name="Remote System Deployment"
-
serverTypes="org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.60,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50,org.jboss.ide.eclipse.as.systemCopyServer">
+
serverTypes="org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.60,org.jboss.ide.eclipse.as.70,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50,org.jboss.ide.eclipse.as.systemCopyServer">
</publishMethod>
</extension>
<extension
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/archives/RSEZippedJSTPublisher.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/archives/RSEZippedJSTPublisher.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/archives/RSEZippedJSTPublisher.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -31,6 +31,8 @@
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;
import org.jboss.ide.eclipse.as.rse.core.RSEPublishMethod;
@@ -56,12 +58,19 @@
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();
monitor.beginTask(taskName, 200); //$NON-NLS-1$
@@ -87,7 +96,7 @@
// Am I a removal? If yes, remove me, and return
if( publishType == IJBossServerPublisher.REMOVE_PUBLISH) {
- result = removeRemoteDeployment(method2, sourcePath, destFolder, name, monitor);
+ 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,
@@ -95,7 +104,7 @@
if( !result.isOK() ) {
monitor.done();
} else {
- result = remoteFullPublish(method, sourcePath, destFolder, name,
+ result = remoteFullPublish(sourcePath, destFolder, name,
AbstractServerToolsPublisher.getSubMon(monitor, 150));
}
}
@@ -108,14 +117,16 @@
return Status.OK_STATUS;
}
- private IStatus remoteFullPublish( IJBossServerPublishMethod method, IPath sourcePath,
+ private IStatus remoteFullPublish(IPath sourcePath,
IPath destFolder, String name, IProgressMonitor monitor) {
// Now transfer the file to RSE
RSEPublishMethod method2 = (RSEPublishMethod)method;
try {
- removeRemoteDeployment(method2, sourcePath, destFolder, name, new
NullProgressMonitor());
+ removeRemoteDeploymentFolder(sourcePath, destFolder, name, new
NullProgressMonitor());
method2.getFileService().upload(sourcePath.toFile(), destFolder.toString(), name,
true, null, null,
AbstractServerToolsPublisher.getSubMon(monitor, 150));
+ if( JBoss7Server.supportsJBoss7Deployment(server))
+ JBoss7JSTPublisher.addDoDeployMarkerFile(method,
ServerConverter.getDeployableServer(server), module, monitor);
} catch( SystemMessageException sme ) {
return new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID, sme.getMessage(),
sme);
} catch(CoreException ce) {
@@ -124,12 +135,13 @@
return Status.OK_STATUS;
}
- private IStatus removeRemoteDeployment( IJBossServerPublishMethod method, IPath
sourcePath,
- IPath destFolder, String name, IProgressMonitor monitor) {
- // Now transfer the file to RSE
- RSEPublishMethod method2 = (RSEPublishMethod)method;
+ private IStatus removeRemoteDeployment( IPath sourcePath,
+ IPath destFolder, String name, IProgressMonitor monitor) throws CoreException {
+ IDeployableServer ds = ServerConverter.getDeployableServer(server);
try {
- method2.getFileService().delete(destFolder.toString(), name, monitor);
+ if( JBoss7Server.supportsJBoss7Deployment(server))
+ return JBoss7JSTPublisher.removeDeployedMarkerFile(method, ds, module, monitor);
+ return removeRemoteDeploymentFolder(sourcePath, destFolder, name, monitor);
} catch( SystemElementNotFoundException senfe ) {
/* Ignore intentionally... file already does not exist on remote server */
return Status.OK_STATUS;
@@ -138,6 +150,13 @@
} catch(CoreException ce) {
return ce.getStatus();
}
+ }
+
+ private IStatus removeRemoteDeploymentFolder(IPath sourcePath,
+ IPath destFolder, String name, IProgressMonitor monitor) throws
SystemMessageException, CoreException {
+ // Now transfer the file to RSE
+ RSEPublishMethod method2 = (RSEPublishMethod)method;
+ method2.getFileService().delete(destFolder.toString(), name, monitor);
return Status.OK_STATUS;
}
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/META-INF/MANIFEST.MF 2011-03-16
22:17:26 UTC (rev 29834)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/META-INF/MANIFEST.MF 2011-03-16
23:54:30 UTC (rev 29835)
@@ -16,9 +16,6 @@
org.jboss.ide.eclipse.as.core,
org.jboss.ide.eclipse.as.wtp.core,
org.eclipse.tm.terminal,
- org.eclipse.tm.terminal.view,
- org.eclipse.tm.terminal.telnet,
- org.eclipse.tm.terminal.ssh,
org.eclipse.wst.server.core,
org.eclipse.wst.common.project.facet.core,
org.eclipse.core.resources,
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -61,6 +61,7 @@
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
import org.jboss.ide.eclipse.as.core.util.IConstants;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
import org.jboss.ide.eclipse.as.rse.core.RSEPublishMethod;
import org.jboss.ide.eclipse.as.rse.core.RSEUtils;
@@ -112,7 +113,7 @@
JBossServer jbs = cServer.getOriginal() == null ?
ServerConverter.getJBossServer(cServer) :
ServerConverter.getJBossServer(cServer.getOriginal());
- if( jbs != null ) {
+ if( jbs != null &&
!cServer.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70) ) {
handleJBossServer(child);
} else {
handleDeployOnlyServer(child);
@@ -438,10 +439,11 @@
protected void serverHomeChanged() {
if( !updatingFromModelChange) {
+ String safeString = callback.getRuntime() != null ?
callback.getRuntime().getLocation() != null ?
+ callback.getRuntime().getLocation().toString() : "" : "";
callback.execute(new ChangeServerPropertyCommand(
callback.getServer(), RSEUtils.RSE_SERVER_HOME_DIR, rseServerHome.getText(),
- getRuntime() == null ? "" :
getRuntime().getRuntime().getLocation().toString(),
- RSEUIMessages.CHANGE_REMOTE_SERVER_HOME));
+ safeString, RSEUIMessages.CHANGE_REMOTE_SERVER_HOME));
}
}
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 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/DeploymentModuleOptionCompositeAssistant.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
+ * 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,
@@ -48,11 +48,8 @@
import org.eclipse.swt.widgets.TreeColumn;
import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Hyperlink;
import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IRuntime;
@@ -72,6 +69,7 @@
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.core.util.ServerConverter;
+import org.jboss.ide.eclipse.as.core.util.ServerUtil;
import org.jboss.ide.eclipse.as.ui.Messages;
public class DeploymentModuleOptionCompositeAssistant implements PropertyChangeListener
{
@@ -360,6 +358,8 @@
boolean showRadios = true;
if( rt == null || rt.loadAdapter(IJBossServerRuntime.class, null) == null)
showRadios = false;
+ if( ServerUtil.isJBoss7(getServer().getServer()))
+ showRadios = false;
return showRadios;
}
@@ -572,13 +572,16 @@
}
private String getDeployDir() {
- return page.getServer().getRuntime() == null ? "" : //$NON-NLS-1$
- ModuleDeploymentPage.makeRelative(getServer().getDeployFolder(),
+ if( page.getServer().getRuntime() == null ||
ServerUtil.isJBoss7(page.getServer().getOriginal()))
+ return "";//$NON-NLS-1$
+ return ModuleDeploymentPage.makeRelative(getServer().getDeployFolder(),
page.getServer().getRuntime());
}
private String getTempDeployDir() {
- return page.getServer().getRuntime() == null ? "" : //$NON-NLS-1$
+ if( page.getServer().getRuntime() == null ||
ServerUtil.isJBoss7(page.getServer().getOriginal()))
+ return "";//$NON-NLS-1$
+ return
ModuleDeploymentPage.makeRelative(getServer().getTempDeployFolder(),
page.getServer().getRuntime());
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -18,7 +18,6 @@
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.widgets.FormToolkit;
@@ -31,6 +30,7 @@
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.internal.DeployableServerBehavior;
+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.UIUtil;
import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
@@ -142,20 +142,26 @@
callback.getServer(), IDeployableServer.SERVER_MODE,
ui.getPublishType().getId(), "Change server mode"));
String deployType = null;
- if( ui.getPublishType().getId().equals(LocalPublishMethod.LOCAL_PUBLISH_METHOD)) {
- deployType = IDeployableServer.DEPLOY_METADATA;
- } else {
- deployType = IDeployableServer.DEPLOY_SERVER;
+ if( shouldChangeDefaultDeployType(callback.getServer())) {
+ if( ui.getPublishType().getId().equals(LocalPublishMethod.LOCAL_PUBLISH_METHOD)) {
+ deployType = IDeployableServer.DEPLOY_METADATA;
+ } else {
+ deployType = IDeployableServer.DEPLOY_SERVER;
+ }
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), IDeployableServer.DEPLOY_DIRECTORY_TYPE,
+ deployType, "Change server's deploy location"));
}
- callback.execute(new ChangeServerPropertyCommand(
- callback.getServer(), IDeployableServer.DEPLOY_DIRECTORY_TYPE,
- deployType, "Change server's deploy location"));
}
} else {
// null selection
}
}
+ private boolean shouldChangeDefaultDeployType(IServerWorkingCopy server) {
+ return
!server.getServerType().getId().equals(IJBossToolingConstants.DEPLOY_ONLY_SERVER)
&&
+ !server.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70);
+ }
public static class ChangeServerPropertyCommand extends ServerCommand {
private IServerWorkingCopy server;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/StrippedServerWizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/StrippedServerWizardFragment.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/StrippedServerWizardFragment.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -221,12 +221,8 @@
}
private String getDefaultNameText() {
- String base = Messages.sswf_BaseName;
- if( findServer(base) == null ) return base;
- int i = 1;
- while( ServerCore.findServer(base + " (" + i + ")") != null )
//$NON-NLS-1$ //$NON-NLS-2$
- i++;
- return base + " (" + i + ")"; //$NON-NLS-1$ //$NON-NLS-2$
+ Object o = getTaskModel().getObject(TaskModel.TASK_SERVER);
+ return ((ServerWorkingCopy)o).getName();
}
private IServer findServer(String name) {
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.properties
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.properties 2011-03-16 22:17:26 UTC
(rev 29834)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.properties 2011-03-16 23:54:30 UTC
(rev 29835)
@@ -23,7 +23,8 @@
NavigatorContent_XMLConfiguration=XML Configuration
NavigatorContent_JMX=JMX
-AllJBossRuntimeTypes=org.jboss.ide.eclipse.as.runtime.32,org.jboss.ide.eclipse.as.runtime.40,org.jboss.ide.eclipse.as.runtime.42,org.jboss.ide.eclipse.as.runtime.50,org.jboss.ide.eclipse.as.runtime.51,org.jboss.ide.eclipse.as.runtime.60,org.jboss.ide.eclipse.as.runtime.eap.43,org.jboss.ide.eclipse.as.runtime.eap.50
-AllJBossServerTypes=org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.60,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50
-AllJBTServerTypes=org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.60,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50,org.jboss.ide.eclipse.as.systemCopyServer
+AllJBossRuntimeTypes=org.jboss.ide.eclipse.as.runtime.32,org.jboss.ide.eclipse.as.runtime.40,org.jboss.ide.eclipse.as.runtime.42,org.jboss.ide.eclipse.as.runtime.50,org.jboss.ide.eclipse.as.runtime.51,org.jboss.ide.eclipse.as.runtime.60,org.jboss.ide.eclipse.as.runtime.70,org.jboss.ide.eclipse.as.runtime.eap.43,org.jboss.ide.eclipse.as.runtime.eap.50
+AllJBossServerTypes=org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.60,org.jboss.ide.eclipse.as.70,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50
+JBossServer6AndBelow=org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.60,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50
+AllJBTServerTypes=org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.60,org.jboss.ide.eclipse.as.70,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50,org.jboss.ide.eclipse.as.systemCopyServer
ServerTypesJBoss6OrHigher=org.jboss.ide.eclipse.as.60
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml 2011-03-16 22:17:26 UTC (rev
29834)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml 2011-03-16 23:54:30 UTC (rev
29835)
@@ -40,7 +40,7 @@
<fragment
class="org.jboss.ide.eclipse.as.ui.wizards.StrippedServerWizardFragment"
id="org.jboss.ide.eclipse.as.ui.strippedServerWizardFragment"
- typeIds="org.jboss.ide.eclipse.as.systemCopyServer"/>
+
typeIds="org.jboss.ide.eclipse.as.systemCopyServer,org.jboss.ide.eclipse.as.70"/>
</extension>
<extension point="org.eclipse.ui.startup">
@@ -55,6 +55,12 @@
description="%jbossLaunchconfigurationTabGroupDescription"
id="org.jboss.ide.eclipse.as.core.jbossLaunchTabGroup"
type="org.jboss.ide.eclipse.as.core.server.startupConfiguration"/>
+
+ <launchConfigurationTabGroup
+
class="org.jboss.ide.eclipse.as.ui.launch.JBossLaunchConfigurationTabGroup"
+ description="%jbossLaunchconfigurationTabGroupDescription"
+ id="org.jboss.ide.eclipse.as.core.jboss7LaunchTabGroup"
+
type="org.jboss.ide.eclipse.as.core.server.JBoss7StartupConfiguration"/>
</extension>
@@ -250,7 +256,7 @@
point="org.jboss.ide.eclipse.as.ui.ServerEditorPortSection">
<section
class="org.jboss.ide.eclipse.as.ui.editor.PortSection$JNDIPortEditorExtension"
- serverIds="%AllJBossServerTypes">
+ serverIds="%JBossServer6AndBelow">
</section>
<section
class="org.jboss.ide.eclipse.as.ui.editor.PortSection$WebPortEditorExtension"
@@ -258,7 +264,7 @@
</section>
<section
class="org.jboss.ide.eclipse.as.ui.editor.PortSection$JBoss6JMXRMIPortEditorExtension"
- serverIds="%ServerTypesJBoss6OrHigher">
+ serverIds="org.jboss.ide.eclipse.as.60">
</section>
</extension>
Modified: trunk/as/tests/org.jboss.ide.eclipse.as.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.test/META-INF/MANIFEST.MF 2011-03-16 22:17:26
UTC (rev 29834)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/META-INF/MANIFEST.MF 2011-03-16 23:54:30
UTC (rev 29835)
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.jboss.ide.eclipse.as.test
+Bundle-SymbolicName: org.jboss.ide.eclipse.as.test;singleton:=true
Bundle-Version: 2.2.0.qualifier
Bundle-Activator: org.jboss.ide.eclipse.as.test.ASTest
Require-Bundle: org.eclipse.core.runtime,
Modified: trunk/as/tests/org.jboss.ide.eclipse.as.test/build.properties
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.test/build.properties 2011-03-16 22:17:26 UTC
(rev 29834)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/build.properties 2011-03-16 23:54:30 UTC
(rev 29835)
@@ -4,7 +4,8 @@
projectPieces/,\
plugin.properties,\
serverMock/,\
- .
+ .,\
+ plugin.xml
jars.compile.order = .
source.. = src/
output.. = bin/
Added: trunk/as/tests/org.jboss.ide.eclipse.as.test/plugin.xml
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.test/plugin.xml (rev
0)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/plugin.xml 2011-03-16 23:54:30 UTC (rev
29835)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.jboss.ide.eclipse.as.core.publishMethod">
+ <publishMethod
+
class="org.jboss.ide.eclipse.as.test.publishing.v2.MockPublishMethod"
+ id="mock"
+ name="mock"
+ serverTypes="org.jboss.ide.eclipse.as.systemCopyServer">
+ </publishMethod>
+ </extension>
+
+</plugin>
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-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/ASTestSuite.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -34,6 +34,7 @@
import org.jboss.ide.eclipse.as.test.publishing.JBIDE4184Test;
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.MockDeploymentBehaviour;
import org.jboss.ide.eclipse.as.test.publishing.v2.SingleFileDeploymentTester;
import org.jboss.ide.eclipse.as.test.server.JBossServerAPITest;
@@ -53,6 +54,7 @@
suite.addTestSuite(JSTDeployBinaryChildModuleTest.class);
suite.addTestSuite(SingleFileDeploymentTester.class);
suite.addTestSuite(JBossServerAPITest.class);
+ suite.addTestSuite(MockDeploymentBehaviour.class);
return suite;
}
Added:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/AbstractJSTDeploymentTester.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/AbstractJSTDeploymentTester.java
(rev 0)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/AbstractJSTDeploymentTester.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -0,0 +1,77 @@
+package org.jboss.ide.eclipse.as.test.publishing.v2;
+
+import java.io.File;
+import java.io.IOException;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.ExtensionManager;
+import org.jboss.ide.eclipse.as.core.publishers.JstPublisher;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
+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;
+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;
+import org.jboss.ide.eclipse.as.test.util.wtp.ProjectUtility;
+
+public class AbstractJSTDeploymentTester extends TestCase {
+ protected IProject project;
+ protected IServer server;
+ final String MODULE_NAME = "newModule";
+ final String CONTENT_DIR = "contentDirS";
+ final String TEXT_FILE = "test.txt";
+ final IPath CONTENT_TEXT_FILE = new Path(CONTENT_DIR).append(TEXT_FILE);
+ public void setUp() throws Exception {
+ project = createProject();
+ server = ServerRuntimeUtils.createMockDeployOnlyServer();
+ }
+
+ public void tearDown() throws Exception {
+ ServerRuntimeUtils.deleteAllServers();
+ ServerRuntimeUtils.deleteAllRuntimes();
+ ProjectUtility.deleteAllProjects();
+ ASTest.clearStateLocation();
+ }
+ protected IProject createProject() throws Exception {
+ IDataModel dm = ProjectCreationUtil.getEARDataModel(MODULE_NAME, CONTENT_DIR, null,
null, JavaEEFacetConstants.EAR_5, false);
+ OperationTestCase.runAndVerify(dm);
+ IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(MODULE_NAME);
+ assertTrue(p.exists());
+ return p;
+ }
+
+ protected void verifyJSTPublisher(IModule[] module) {
+ IJBossServerPublisher publisher = ExtensionManager
+ .getDefault().getPublisher(server, module, "local");
+ assertTrue(publisher instanceof JstPublisher);
+ }
+
+ protected void assertContents(IFile file, int val) throws IOException, CoreException {
+ assertContents(file, "" + val);
+ }
+
+ protected void assertContents(IFile file, String val) throws IOException, CoreException
{
+ assertEquals(val, IOUtil.getContents(file));
+ }
+
+ protected void assertContents(File file, int val) throws IOException, CoreException {
+ assertContents(file, "" + val);
+ }
+
+ protected void assertContents(File file, String val) throws IOException, CoreException
{
+ assertEquals(val, IOUtil.getContents(file));
+ }
+
+
+}
Modified:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeployBinaryChildModuleTest.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeployBinaryChildModuleTest.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeployBinaryChildModuleTest.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -19,7 +19,7 @@
import org.jboss.ide.eclipse.as.test.util.wtp.OperationTestCase;
import org.jboss.ide.eclipse.as.test.util.wtp.ProjectCreationUtil;
-public class JSTDeployBinaryChildModuleTest extends JSTDeploymentTester {
+public class JSTDeployBinaryChildModuleTest extends AbstractJSTDeploymentTester {
protected IProject createProject() throws Exception {
IDataModel dm = ProjectCreationUtil.getWebDataModel(MODULE_NAME, null, null, null,
null, JavaEEFacetConstants.WEB_24, false);
OperationTestCase.runAndVerify(dm);
@@ -34,7 +34,7 @@
return p;
}
- public void testMain() throws CoreException, IOException {
+ public void testStandardBinaryChildDeployment() throws CoreException, IOException {
IModule mod = ServerUtil.getModule(project);
IModule[] module = new IModule[] { mod };
verifyJSTPublisher(module);
@@ -47,4 +47,27 @@
assertTrue("test.jar exists in deployment",
webinf_lib_testjar.toFile().exists());
assertTrue("test.jar File is actually a file",
webinf_lib_testjar.toFile().isFile());
}
+
+ public void testStandardBinaryChildDeploymentMockPublishMethod() throws CoreException,
IOException {
+ server = ServerRuntimeUtils.useMockPublishMethod(server);
+ MockPublishMethod.HANDLER.reset();
+ testJBoss7BinaryChildDeployment(8);
+ }
+
+ public void testJBoss7BinaryChildDeployment() throws CoreException, IOException {
+ server = ServerRuntimeUtils.createMockJBoss7Server();
+ server = ServerRuntimeUtils.useMockPublishMethod(server);
+ MockPublishMethod.HANDLER.reset();
+ testJBoss7BinaryChildDeployment(9);
+ }
+
+ private void testJBoss7BinaryChildDeployment(int count) throws CoreException,
IOException {
+ IModule mod = ServerUtil.getModule(project);
+ IModule[] module = new IModule[] { mod };
+ server = ServerRuntimeUtils.addModule(server, mod);
+ ServerRuntimeUtils.publish(server);
+ assertEquals(count,MockPublishMethod.HANDLER.getChanged().length);
+ MockPublishMethod.HANDLER.reset();
+ }
+
}
Modified:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeploymentTester.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeploymentTester.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeploymentTester.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -1,81 +1,19 @@
package org.jboss.ide.eclipse.as.test.publishing.v2;
-import java.io.File;
import java.io.IOException;
-import junit.framework.TestCase;
-
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.ServerUtil;
-import org.jboss.ide.eclipse.as.core.ExtensionManager;
-import org.jboss.ide.eclipse.as.core.publishers.JstPublisher;
-import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
-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;
-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;
-import org.jboss.ide.eclipse.as.test.util.wtp.ProjectUtility;
-public class JSTDeploymentTester extends TestCase {
+public class JSTDeploymentTester extends AbstractJSTDeploymentTester {
- protected IProject project;
- protected IServer server;
- final String MODULE_NAME = "newModule";
- final String CONTENT_DIR = "contentDirS";
- final String TEXT_FILE = "test.txt";
- final IPath CONTENT_TEXT_FILE = new Path(CONTENT_DIR).append(TEXT_FILE);
- public void setUp() throws Exception {
- project = createProject();
- server = ServerRuntimeUtils.createMockDeployOnlyServer();
- }
- public void tearDown() throws Exception {
- ServerRuntimeUtils.deleteAllServers();
- ServerRuntimeUtils.deleteAllRuntimes();
- ProjectUtility.deleteAllProjects();
- ASTest.clearStateLocation();
- }
-
- protected IProject createProject() throws Exception {
- IDataModel dm = ProjectCreationUtil.getEARDataModel(MODULE_NAME, CONTENT_DIR, null,
null, JavaEEFacetConstants.EAR_5, false);
- OperationTestCase.runAndVerify(dm);
- IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(MODULE_NAME);
- assertTrue(p.exists());
- return p;
- }
-
- protected void verifyJSTPublisher(IModule[] module) {
- IJBossServerPublisher publisher = ExtensionManager
- .getDefault().getPublisher(server, module, "local");
- assertTrue(publisher instanceof JstPublisher);
- }
-
- protected void assertContents(IFile file, int val) throws IOException, CoreException {
- assertContents(file, "" + val);
- }
-
- protected void assertContents(IFile file, String val) throws IOException, CoreException
{
- assertEquals(val, IOUtil.getContents(file));
- }
-
- protected void assertContents(File file, int val) throws IOException, CoreException {
- assertContents(file, "" + val);
- }
-
- protected void assertContents(File file, String val) throws IOException, CoreException
{
- assertEquals(val, IOUtil.getContents(file));
- }
-
public void testMain() throws CoreException, IOException {
IModule mod = ServerUtil.getModule(project);
IModule[] module = new IModule[] { mod };
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-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTDeploymentWarUpdateXML.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -26,26 +26,8 @@
import org.jboss.ide.eclipse.as.test.util.wtp.ProjectCreationUtil;
import org.jboss.ide.eclipse.as.test.util.wtp.ProjectUtility;
-public class JSTDeploymentWarUpdateXML extends TestCase {
+public class JSTDeploymentWarUpdateXML extends AbstractJSTDeploymentTester {
- IProject project;
- IServer server;
- final String MODULE_NAME = "newModule";
- final String CONTENT_DIR = "contentDirS";
- final String TEXT_FILE = "test.txt";
- final IPath CONTENT_TEXT_FILE = new Path(CONTENT_DIR).append(TEXT_FILE);
- public void setUp() throws Exception {
- project = createProject();
- server = ServerRuntimeUtils.createMockDeployOnlyServer();
- }
-
- public void tearDown() throws Exception {
- ServerRuntimeUtils.deleteAllServers();
- ServerRuntimeUtils.deleteAllRuntimes();
- ProjectUtility.deleteAllProjects();
- ASTest.clearStateLocation();
- }
-
protected IProject createProject() throws Exception {
IDataModel dm = ProjectCreationUtil.getWebDataModel(MODULE_NAME, null, null,
CONTENT_DIR, null, JavaEEFacetConstants.WEB_25, true);
OperationTestCase.runAndVerify(dm);
@@ -54,28 +36,6 @@
return p;
}
- protected void verifyJSTPublisher(IModule[] module) {
- IJBossServerPublisher publisher = ExtensionManager
- .getDefault().getPublisher(server, module, "local");
- assertTrue(publisher instanceof JstPublisher);
- }
-
- protected void assertContents(IFile file, int val) throws IOException, CoreException {
- assertContents(file, "" + val);
- }
-
- protected void assertContents(IFile file, String val) throws IOException, CoreException
{
- assertEquals(val, IOUtil.getContents(file));
- }
-
- protected void assertContents(File file, int val) throws IOException, CoreException {
- assertContents(file, "" + val);
- }
-
- protected void assertContents(File file, String val) throws IOException, CoreException
{
- assertEquals(val, IOUtil.getContents(file));
- }
-
public void testMain() throws CoreException, IOException {
IModule mod = ServerUtil.getModule(project);
IModule[] module = new IModule[] { mod };
@@ -105,4 +65,28 @@
ServerRuntimeUtils.publish(server);
assertFalse(rootFolder.toFile().exists());
}
+
+ public void testWarUpdateMockPublishMethod() throws CoreException, IOException {
+ server = ServerRuntimeUtils.useMockPublishMethod(server);
+ testMockPublishMethod(7,1,"");
+ }
+
+ public void testWarUpdateMockPublishMethodJBoss7() throws CoreException, IOException {
+ server = ServerRuntimeUtils.createMockJBoss7Server();
+ server = ServerRuntimeUtils.useMockPublishMethod(server);
+ testMockPublishMethod(8,1,"newModule.war.isdeployed");
+ }
+
+ private void testMockPublishMethod(int initial, int remove, String removedFile) throws
CoreException, IOException {
+ IModule mod = ServerUtil.getModule(project);
+ server = ServerRuntimeUtils.addModule(server,mod);
+ ServerRuntimeUtils.publish(server);
+ assertEquals(initial, MockPublishMethod.HANDLER.getChanged().length);
+ MockPublishMethod.HANDLER.reset();
+
+ server = ServerRuntimeUtils.removeModule(server, mod);
+ ServerRuntimeUtils.publish(server);
+ assertEquals(remove, MockPublishMethod.HANDLER.getRemoved().length);
+ assertEquals(removedFile, MockPublishMethod.HANDLER.getRemoved()[0].toString());
+ }
}
Added:
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
(rev 0)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockDeploymentBehaviour.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -0,0 +1,166 @@
+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);
+ }
+ }
+}
Added:
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
(rev 0)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockJSTPublisherTest.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -0,0 +1,59 @@
+package org.jboss.ide.eclipse.as.test.publishing.v2;
+
+import java.io.IOException;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.jboss.ide.eclipse.as.test.util.IOUtil;
+import org.jboss.ide.eclipse.as.test.util.ServerRuntimeUtils;
+
+public class MockJSTPublisherTest extends AbstractJSTDeploymentTester {
+ public void testNormalLogic() throws CoreException, IOException {
+ server = ServerRuntimeUtils.useMockPublishMethod(server);
+ MockPublishMethod.HANDLER.reset();
+ theTest(2,1, "");
+ }
+
+ public void testForced7Logic() throws CoreException, IOException {
+ server = ServerRuntimeUtils.createMockJBoss7Server();
+ server = ServerRuntimeUtils.useMockPublishMethod(server);
+ MockPublishMethod.HANDLER.reset();
+ theTest(3,1, "newModule.ear.isDeployed");
+ }
+
+ private void theTest(int initialPublish, int remove, String relativePath) 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.HANDLER.getChanged().length);
+ MockPublishMethod.HANDLER.reset();
+
+ IFile textFile = project.getFile(CONTENT_TEXT_FILE);
+ IOUtil.setContents(textFile, 0);
+ assertEquals(0, MockPublishMethod.HANDLER.getChanged().length);
+ ServerRuntimeUtils.publish(server);
+ assertEquals(2, MockPublishMethod.HANDLER.getChanged().length);
+ MockPublishMethod.HANDLER.reset();
+ IOUtil.setContents(textFile, 1);
+ ServerRuntimeUtils.publish(server);
+ assertEquals(2, MockPublishMethod.HANDLER.getChanged().length);
+ MockPublishMethod.HANDLER.reset();
+ textFile.delete(true, null);
+ ServerRuntimeUtils.publish(server);
+ assertEquals(1, MockPublishMethod.HANDLER.getRemoved().length);
+ MockPublishMethod.HANDLER.reset();
+
+ server = ServerRuntimeUtils.removeModule(server, mod);
+ assertEquals(0, MockPublishMethod.HANDLER.getRemoved().length);
+
+ // Still just one delete, but should be the .deployed file
+ ServerRuntimeUtils.publish(server);
+ assertEquals(remove, MockPublishMethod.HANDLER.getRemoved().length);
+ }
+
+}
Added:
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
(rev 0)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/MockPublishMethod.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -0,0 +1,91 @@
+package org.jboss.ide.eclipse.as.test.publishing.v2;
+
+import java.io.File;
+import java.util.ArrayList;
+
+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.wst.server.core.IServer;
+import org.eclipse.wst.server.core.model.IModuleFile;
+import org.jboss.ide.eclipse.as.core.publishers.AbstractPublishMethod;
+import org.jboss.ide.eclipse.as.core.publishers.PublishUtil;
+import org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil;
+import
org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil.IPublishCopyCallbackHandler;
+
+public class MockPublishMethod extends AbstractPublishMethod {
+
+ public static final String PUBLISH_METHOD_ID = "mock";
+ public static final MockCopyCallbackHandler HANDLER = new MockCopyCallbackHandler();
+
+ @Override
+ public IPublishCopyCallbackHandler getCallbackHandler(IPath path,
+ IServer server) {
+ return HANDLER;
+ }
+
+ @Override
+ public String getPublishDefaultRootFolder(IServer server) {
+ return "/";
+ }
+
+ @Override
+ public String getPublishMethodId() {
+ return PUBLISH_METHOD_ID;
+ }
+
+ public static class MockCopyCallbackHandler implements IPublishCopyCallbackHandler {
+ public ArrayList<IPath> changed = new ArrayList<IPath>();
+ public ArrayList<IPath> removed = new ArrayList<IPath>();
+
+ public void reset() {
+ changed.clear();
+ removed.clear();
+ }
+
+ public IPath[] getRemoved() {
+ return (IPath[]) removed.toArray(new IPath[removed.size()]);
+ }
+
+ public IPath[] getChanged() {
+ return (IPath[]) changed.toArray(new IPath[changed.size()]);
+ }
+
+ @Override
+ public IStatus[] deleteResource(IPath path, IProgressMonitor monitor)
+ throws CoreException {
+ if( !removed.contains(path.makeRelative()))
+ removed.add(path.makeRelative());
+ return new IStatus[]{};
+ }
+
+ @Override
+ public IStatus[] makeDirectoryIfRequired(IPath dir,
+ IProgressMonitor monitor) throws CoreException {
+ if( !changed.contains(dir.makeRelative()))
+ changed.add(dir.makeRelative());
+ return new IStatus[]{};
+ }
+
+ private boolean shouldRestartModule = false;
+ public boolean shouldRestartModule() {
+ return shouldRestartModule;
+ }
+ public IStatus[] copyFile(IModuleFile mf, IPath path,
+ IProgressMonitor monitor) throws CoreException {
+ File file = PublishUtil.getFile(mf);
+ shouldRestartModule |= PublishCopyUtil.checkRestartModule(file);
+ if( !changed.contains(path.makeRelative()))
+ changed.add(path.makeRelative());
+ return new IStatus[]{};
+ }
+
+ @Override
+ public IStatus[] touchResource(IPath path) {
+ if( !changed.contains(path.makeRelative()))
+ changed.add(path.makeRelative());
+ return new IStatus[]{};
+ }
+ }
+}
Modified:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/ServerRuntimeUtils.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/ServerRuntimeUtils.java 2011-03-16
22:17:26 UTC (rev 29834)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/ServerRuntimeUtils.java 2011-03-16
23:54:30 UTC (rev 29835)
@@ -43,6 +43,7 @@
import org.jboss.ide.eclipse.as.core.server.internal.DeployableServer;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior;
import org.jboss.ide.eclipse.as.core.server.internal.ServerAttributeHelper;
+import org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7Server;
import org.jboss.ide.eclipse.as.core.util.FileUtil;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
@@ -96,7 +97,30 @@
return ServerRuntimeUtils.createMockDeployOnlyServer(deploy.toOSString(),
tmpDeploy.toOSString());
}
+ public static IServer createMockJBoss7Server() throws CoreException {
+ IPath state = ASTest.getDefault().getStateLocation();
+ IPath deploy = state.append("testDeployments").append("deploy");
+ IPath tmpDeploy =
state.append("testDeployments").append("tmpDeploy");
+ return createMockJBoss7Server(deploy.toOSString(), tmpDeploy.toOSString());
+ }
+ public static IServer createMockJBoss7Server(String deployLocation, String
tempDeployLocation) throws CoreException {
+ IServer s = ServerCreationUtils.createServer(IJBossToolingConstants.AS_70,
IJBossToolingConstants.SERVER_AS_70,
+ "/", "default");
+ ServerWorkingCopy swc = (ServerWorkingCopy) s.createWorkingCopy();
+ swc.setServerConfiguration(null);
+ swc.setAttribute(DeployableServer.DEPLOY_DIRECTORY, deployLocation);
+ swc.setAttribute(DeployableServer.TEMP_DEPLOY_DIRECTORY, tempDeployLocation);
+ IServer server = swc.save(true, null);
+ return server;
+ }
+
+ public static IServer useMockPublishMethod(IServer server) throws CoreException {
+ IServerWorkingCopy wc = server.createWorkingCopy();
+ wc.setAttribute(IDeployableServer.SERVER_MODE, "mock");
+ return wc.save(true, new NullProgressMonitor());
+ }
+
public static IServer createMockDeployOnlyServer(String deployLocation, String
tempDeployLocation) throws CoreException {
return createMockDeployOnlyServer(deployLocation, tempDeployLocation,
"testRuntime", "testServer");
}