|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file aresubject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.tomcat5.ide;
import java.io.File;
import org.netbeans.modules.j2ee.deployment.plugins.api.IncrementalDeployment;
import javax.enterprise.deploy.spi.*;
import javax.enterprise.deploy.model.*;
import javax.enterprise.deploy.shared.*;
import javax.enterprise.deploy.spi.status.ProgressObject;
import javax.enterprise.deploy.spi.exceptions.OperationUnsupportedException;
import org.openide.util.RequestProcessor;
import org.openide.util.Task;
import org.netbeans.modules.tomcat5.progress.ProgressEventSupport;
import org.netbeans.modules.tomcat5.progress.Status;
import org.netbeans.modules.tomcat5.*;
/**
*
* @author Pavel Buzek
*/
public class TomcatIncrementalDeployment extends IncrementalDeployment {
private TomcatManager tm;
/** Creates a new instance of TomcatIncrementaDeployment */
public TomcatIncrementalDeployment (DeploymentManager dm) {
this.tm = (TomcatManager) dm;
}
public boolean canFileDeploy (Target target, DeployableObject deployable) {
return deployable.getType ().equals (javax.enterprise.deploy.shared.ModuleType.WAR);
}
public File getDirectoryForModule (TargetModuleID module) {
return null;
/*TomcatModule tModule = (TomcatModule) module;
String moduleFolder = tm.getCatalinaBaseDir ().getAbsolutePath ()
+ System.getProperty("file.separator") + "webapps" //NOI18N
+ System.getProperty("file.separator") + tModule.getPath ().substring (1); //NOI18N
File f = new File (moduleFolder);
return f;*/
}
public File getDirectoryForNewApplication (Target target, DeployableObject module, DeploymentConfiguration configuration) {
if (module.getType ().equals (ModuleType.WAR)) {
return null;
/*if (configuration instanceof WebappConfiguration) {
String moduleFolder = tm.getCatalinaBaseDir ().getAbsolutePath ()
+ System.getProperty("file.separator") + "webapps" //NOI18N
+ System.getProperty("file.separator") + ((WebappConfiguration)configuration).getPath ().substring (1); //NOI18N
File f = new File (moduleFolder);
return f;
}*/
}
throw new IllegalArgumentException ("ModuleType:" + module == null ? null : module.getType () + " Configuration:"+configuration); //NOI18N
}
public java.io.File getDirectoryForNewModule (java.io.File appDir, String uri, javax.enterprise.deploy.model.DeployableObject module, javax.enterprise.deploy.spi.DeploymentConfiguration configuration) {
throw new UnsupportedOperationException ();
}
public ProgressObject incrementalDeploy (final TargetModuleID module, org.netbeans.modules.j2ee.deployment.plugins.api.AppChangeDescriptor changes) {
if (changes.descriptorChanged () || changes.serverDescriptorChanged () || changes.classesChanged ()) {
TomcatManagerImpl tmi = new TomcatManagerImpl (tm);
if (changes.serverDescriptorChanged ()) {
new TomcatManagerImpl (tm).remove ((TomcatModule) module);
tmi.incrementalRedeploy ((TomcatModule) module);
} else if (changes.descriptorChanged()) {
new TomcatManagerImpl (tm).stop((TomcatModule) module);
tmi.start ((TomcatModule) module);
} else {
tmi.reload ((TomcatModule)module);
}
return tmi;
} else {
final P p = new P (module);
p.supp.fireHandleProgressEvent (module, new Status (ActionType.EXECUTE, CommandType.DISTRIBUTE, "", StateType.COMPLETED));
Task t = RequestProcessor.getDefault().post(new Runnable() {
public void run() {
try {
p.supp.fireHandleProgressEvent (module, new Status (ActionType.EXECUTE, CommandType.DISTRIBUTE, "", StateType.COMPLETED));
} catch (Throwable e) {
e.printStackTrace();
}
}
});
return p;
}
}
public ProgressObject initialDeploy (Target target, javax.enterprise.deploy.model.DeployableObject app, DeploymentConfiguration configuration, File dir) {
TomcatManagerImpl tmi = new TomcatManagerImpl (tm);
File contextXml = new File (dir.getAbsolutePath () + "/META-INF/context.xml"); //NOI18N
tmi.initialDeploy (target, contextXml, dir);
return tmi;
}
public void notifyDeployment(TargetModuleID module) {
if (tm.getOpenContextLogOnRun()) {
tm.openLog(module);
}
}
private static class P implements ProgressObject {
ProgressEventSupport supp = new ProgressEventSupport (this);
TargetModuleID tmid;
P (TargetModuleID tmid) {
this.tmid = tmid;
}
public void addProgressListener (javax.enterprise.deploy.spi.status.ProgressListener progressListener) {
supp.addProgressListener (progressListener);
}
public void removeProgressListener (javax.enterprise.deploy.spi.status.ProgressListener progressListener) {
supp.removeProgressListener (progressListener);
}
public javax.enterprise.deploy.spi.status.ClientConfiguration getClientConfiguration (javax.enterprise.deploy.spi.TargetModuleID targetModuleID) {
return null;
}
public javax.enterprise.deploy.spi.status.DeploymentStatus getDeploymentStatus () {
return supp.getDeploymentStatus ();
}
public javax.enterprise.deploy.spi.TargetModuleID[] getResultTargetModuleIDs () {
return new TargetModuleID [] {tmid};
}
public boolean isCancelSupported () {
return false;
}
public boolean isStopSupported () {
return false;
}
public void cancel () throws javax.enterprise.deploy.spi.exceptions.OperationUnsupportedException {
throw new OperationUnsupportedException ("");
}
public void stop () throws javax.enterprise.deploy.spi.exceptions.OperationUnsupportedException {
throw new OperationUnsupportedException ("");
}
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.