/xservices/trunk/src/java/log4j.properties |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:mime-type |
-text/plain |
\ No newline at end of property |
/xservices/trunk/src/java/quartz.properties |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:mime-type |
-text/plain |
\ No newline at end of property |
/xservices/trunk/src/java/net/brutex/xservices/ws/JobService.java |
---|
File deleted |
Property changes: |
Deleted: svn:mime-type |
-text/plain |
\ No newline at end of property |
/xservices/trunk/src/java/net/brutex/xservices/ws/ExecuteService.java |
---|
19,7 → 19,6 |
import javax.jws.WebMethod; |
import javax.jws.WebParam; |
import javax.jws.WebService; |
import javax.xml.bind.annotation.XmlElement; |
import net.brutex.xservices.types.HostConnection; |
import net.brutex.xservices.types.ReturnCode; |
27,7 → 26,6 |
/** |
* Task execution web service |
* |
* @author Brian Rosenberger |
* @since 0.1.0 |
* |
132,14 → 130,5 |
@WebParam(name = "command") String cmd, |
@WebParam(name = "expect") String expect, |
@WebParam(name = "timeout") long timeout); |
/** |
* @param script |
* @throws XServicesFault |
*/ |
@WebMethod(operationName = "runJavaScript") |
public abstract void runJScript( |
@WebParam(name = "script") @XmlElement(required=true) String script) throws XServicesFault; |
} |
/xservices/trunk/src/java/net/brutex/xservices/ws/DateService.java |
---|
144,15 → 144,6 |
@WebParam(name=PARAM_DATETIME) @XmlElement(required=true) GregorianCalendar cal, |
@WebParam(name=PARAM_FORMAT) @XmlElement(required=true) String format) throws XServicesFault; |
/** |
* Converts a string into date using pre-defined date formats. |
* |
* @param s Date/ time as string |
* @param format date format |
* @param timezone timezone |
* @return XML Date |
* @throws XServicesFault |
*/ |
@WebMethod(operationName=OPERATION_PARSEDATE) |
public abstract GregorianCalendar parseDate( |
@WebParam(name=PARAM_DATETIME) @XmlElement(required=true) String s, |
159,14 → 150,6 |
@WebParam(name=PARAM_FORMAT) @XmlElement(required=true) DateFormatType format, |
@WebParam(name=PARAM_TIMEZONE) String timezone) throws XServicesFault; |
/** |
* Converts a string into date using any format. |
* @param s date/ time as string |
* @param format date format |
* @param timezone timezone |
* @return XML Date |
* @throws XServicesFault |
*/ |
@WebMethod(operationName=OPERATION_PARSEDATEADVANCED) |
public abstract GregorianCalendar parseDateAdvanced( |
@WebParam(name=PARAM_DATETIME) @XmlElement(required=true) String s, |
/xservices/trunk/src/java/net/brutex/xservices/ws/impl/JobServiceImpl.java |
---|
File deleted |
Property changes: |
Deleted: svn:mime-type |
-text/plain |
\ No newline at end of property |
/xservices/trunk/src/java/net/brutex/xservices/ws/impl/DateServiceImpl.java |
---|
44,7 → 44,7 |
private static String ERR_INVALIDFORMAT = "Invalid format pattern."; |
private static String ERR_INVALIDTIMEZONE = "Invalid timezone."; |
@Override |
public GregorianCalendar getDate(String timezone) throws XServicesFault { |
if (! isValidTimezone(timezone) ) { |
String valid_ids = ""; |
60,7 → 60,7 |
return c; |
} |
@Override |
public BigInteger getTimestamp() { |
Date d = new Date(); |
long l = d.getTime(); |
68,7 → 68,7 |
return timestamp; |
} |
@Override |
public GregorianCalendar getInTimezone(GregorianCalendar cal, |
String timezone) throws XServicesFault { |
if(! isValidTimezone(timezone)) throw new XServicesFault(ERR_INVALIDTIMEZONE); |
77,12 → 77,12 |
return c; |
} |
@Override |
public String formatDate(GregorianCalendar cal, DateFormatType format) throws XServicesFault { |
return formatDateAdvanced(cal, format.format()); |
} |
@Override |
public String formatDateAdvanced(GregorianCalendar cal, String format) |
throws XServicesFault { |
String result= null; |
95,12 → 95,12 |
return result; |
} |
@Override |
public GregorianCalendar parseDate(String s, DateFormatType format, String timezone) throws XServicesFault { |
return parseDateAdvanced(s, format.format(), timezone); |
} |
@Override |
public GregorianCalendar parseDateAdvanced(String s, String format, String timezone) throws XServicesFault { |
SimpleDateFormat f = null; |
Date date = null; |
121,7 → 121,7 |
return cal; |
} |
@Override |
public BigInteger dateTimeDiff(GregorianCalendar fromCal, |
GregorianCalendar toCal) throws XServicesFault { |
long diff = toCal.getTimeInMillis() - fromCal.getTimeInMillis(); |
129,7 → 129,7 |
return d; |
} |
@Override |
public BigInteger dateTimeDiff2(GregorianCalendar fromCal, |
GregorianCalendar toCal, DateTimeUnits unit) throws XServicesFault { |
BigInteger d = dateTimeDiff(fromCal, toCal); |
149,7 → 149,7 |
return d; |
} |
@Override |
public GregorianCalendar dateAdd(GregorianCalendar cal, BigInteger value, DateTimeUnits unit) |
throws XServicesFault { |
switch (unit) { |
/xservices/trunk/src/java/net/brutex/xservices/ws/impl/FileServiceImpl.java |
---|
64,7 → 64,7 |
* @see net.brutex.xservices.ws.impl.FileService#basename(java.lang.String, |
* java.lang.String) |
*/ |
@Override |
public String basename(String filename, String suffix) { |
final String BASENAME_VALUE = "basename.value"; |
Basename basename = new Basename(); |
139,7 → 139,7 |
* net.brutex.xservices.ws.impl.FileService#base64Encode(net.brutex.xservices |
* .types.FileSetResource) |
*/ |
@Override |
public AttachmentType downloadFile(FileResource res) throws XServicesFault { |
InputStream is = null; |
try { |
163,7 → 163,7 |
* net.brutex.xservices.ws.impl.FileService#base64Decode(net.brutex.xservices |
* .types.AttachmentType) |
*/ |
@Override |
public String uploadFile(AttachmentType file) throws XServicesFault { |
DataHandler h = file.getContent(); |
File f = new File(file.getFilename()); |
188,7 → 188,7 |
* net.brutex.xservices.ws.impl.FileService#copy(net.brutex.xservices.types |
* .FileSetResource, java.lang.String, boolean, boolean, java.lang.String) |
*/ |
@Override |
public ReturnCode copy(FileSetResource src, String todir, boolean plm, |
boolean overwrite, String encoding) throws XServicesFault { |
Copy copy = new Copy(); |
213,7 → 213,7 |
return runner.postTask(); |
} |
@Override |
public ReturnCode copyFile(String fromFile, String tofile, boolean overwrite) |
throws XServicesFault { |
Copy copy = new Copy(); |
235,7 → 235,7 |
* net.brutex.xservices.ws.impl.FileService#loadRes(net.brutex.xservices |
* .types.FileResource, java.lang.String) |
*/ |
@Override |
public String loadRes(FileResource res, String encoding) |
throws XServicesFault { |
if (encoding == null || encoding.equals("")) { |
259,7 → 259,7 |
* net.brutex.xservices.ws.impl.FileService#loadResFromArchive(net.brutex |
* .xservices.types.ArchiveResource, java.lang.String) |
*/ |
@Override |
public String loadResFromArchive(ArchiveResource res, String encoding) { |
if (encoding == null || encoding.equals("")) { |
encoding = System.getProperty("file.encoding"); |
282,7 → 282,7 |
* @see net.brutex.xservices.ws.impl.FileService#echo2file(java.lang.String, |
* java.lang.String, java.lang.String, boolean) |
*/ |
@Override |
public ReturnCode echo2file(String message, String file, String encoding, |
boolean append) throws XServicesFault { |
316,7 → 316,7 |
* net.brutex.xservices.ws.impl.FileService#changeOwner(net.brutex.xservices |
* .types.FileSetResource, java.lang.String) |
*/ |
@Override |
public ReturnCode changeOwner(FileSetResource res, String owner) { |
Chown chown = new Chown(); |
chown.setTaskName("Chown"); |
335,7 → 335,7 |
* net.brutex.xservices.ws.impl.FileService#changeGroup(net.brutex.xservices |
* .types.FileSetResource, java.lang.String) |
*/ |
@Override |
public ReturnCode changeGroup(FileSetResource res, String group) { |
Chgrp chgrp = new Chgrp(); |
chgrp.setTaskName("Chgrp"); |
354,7 → 354,7 |
* net.brutex.xservices.ws.impl.FileService#changeMode(net.brutex.xservices |
* .types.FileSetResource, java.lang.String) |
*/ |
@Override |
public ReturnCode changeMode(FileSetResource res, String perm) { |
Chmod chmod = new Chmod(); |
chmod.setTaskName("Chmod"); |
/xservices/trunk/src/java/net/brutex/xservices/ws/impl/ExecuteServiceImpl.java |
---|
17,8 → 17,6 |
package net.brutex.xservices.ws.impl; |
import java.io.File; |
import java.util.UUID; |
import javax.jws.WebMethod; |
import javax.jws.WebParam; |
import javax.jws.WebService; |
25,10 → 23,8 |
import net.brutex.xservices.types.HostConnection; |
import net.brutex.xservices.types.ReturnCode; |
import net.brutex.xservices.util.BrutexNamespaces; |
import net.brutex.xservices.util.JobWrapper; |
import net.brutex.xservices.util.RunTask; |
import net.brutex.xservices.ws.ExecuteService; |
import net.brutex.xservices.ws.XServicesFault; |
import org.apache.tools.ant.taskdefs.ExecTask; |
import org.apache.tools.ant.taskdefs.optional.net.RExecTask; |
35,320 → 31,268 |
import org.apache.tools.ant.taskdefs.optional.net.TelnetTask; |
import org.apache.tools.ant.taskdefs.optional.ssh.SSHExec; |
import org.apache.tools.ant.types.Commandline; |
import org.mozilla.javascript.Context; |
import org.mozilla.javascript.Scriptable; |
import org.quartz.JobBuilder; |
import org.quartz.JobDetail; |
import org.quartz.Scheduler; |
import org.quartz.SchedulerException; |
import org.quartz.Trigger; |
import static org.quartz.TriggerBuilder.*; |
import static org.quartz.SimpleScheduleBuilder.*; |
import org.quartz.TriggerUtils; |
import org.quartz.impl.StdSchedulerFactory; |
import org.quartz.impl.triggers.SimpleTriggerImpl; |
/** |
* |
* |
* @author Brian Rosenberger, bru@brutex.de |
*/ |
@WebService(targetNamespace = BrutexNamespaces.WS_XSERVICES, endpointInterface = "net.brutex.xservices.ws.ExecuteService", serviceName = "ExecuteService") |
@WebService( |
targetNamespace=BrutexNamespaces.WS_XSERVICES, |
endpointInterface="net.brutex.xservices.ws.ExecuteService", |
serviceName="ExecuteService" |
) |
public class ExecuteServiceImpl implements ExecuteService { |
/* |
* (non-Javadoc) |
* |
* @see |
* net.brutex.xservices.ws.impl.ExecuteService#runCommand(java.lang.String, |
* java.lang.String, long) |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.impl.ExecuteService#runCommand(java.lang.String, java.lang.String, long) |
*/ |
@Override |
@WebMethod(operationName = "runCommand") |
public ReturnCode runCommand(@WebParam(name = "executable") String cmd, |
@WebParam(name = "argline") String args, |
@WebParam(name = "timeout") long timeout) { |
public ReturnCode runCommand(@WebParam(name = "executable") String cmd, |
@WebParam(name = "argline") String args, |
@WebParam(name = "timeout") long timeout) { |
return executeCommand(cmd, Commandline.translateCommandline(args), |
null, false, null, false, true, false, timeout); |
} |
return executeCommand(cmd, |
Commandline.translateCommandline(args), |
null, |
false, |
null, |
false, |
true, |
false, |
timeout); |
} |
/* |
* (non-Javadoc) |
* |
* @see |
* net.brutex.xservices.ws.impl.ExecuteService#runCommandWithArgs(java.lang |
* .String, java.lang.String[], long) |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.impl.ExecuteService#runCommandWithArgs(java.lang.String, java.lang.String[], long) |
*/ |
@Override |
@WebMethod(operationName = "runCommandWithArgs") |
public ReturnCode runCommandWithArgs( |
@WebParam(name = "executable") String cmd, |
@WebParam(name = "arg") String[] args, |
@WebParam(name = "timeout") long timeout) { |
public ReturnCode runCommandWithArgs(@WebParam(name = "executable") String cmd, |
@WebParam(name = "arg") String[] args, |
@WebParam(name = "timeout") long timeout) { |
return executeCommand(cmd, args, null, false, null, false, true, false, |
timeout); |
} |
return executeCommand(cmd, |
args, |
null, |
false, |
null, |
false, |
true, |
false, |
timeout); |
} |
/* |
* (non-Javadoc) |
* |
* @see |
* net.brutex.xservices.ws.impl.ExecuteService#runCommandAsync(java.lang |
* .String, java.lang.String) |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.impl.ExecuteService#runCommandAsync(java.lang.String, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = "runCommandAsync") |
public ReturnCode runCommandAsync( |
@WebParam(name = "executable") String cmd, |
@WebParam(name = "argline") String args) { |
public ReturnCode runCommandAsync(@WebParam(name = "executable") String cmd, |
@WebParam(name = "argline") String args) { |
return executeCommand(cmd, Commandline.translateCommandline(args), |
null, true, null, false, true, false, 0); |
} |
return executeCommand(cmd, |
Commandline.translateCommandline(args), |
null, |
true, |
null, |
false, |
true, |
false, |
0); |
} |
/* |
* (non-Javadoc) |
* |
* @see |
* net.brutex.xservices.ws.impl.ExecuteService#runCommandAsyncWithArgs(java |
* .lang.String, java.lang.String[]) |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.impl.ExecuteService#runCommandAsyncWithArgs(java.lang.String, java.lang.String[]) |
*/ |
@Override |
@WebMethod(operationName = "runCommandAsyncWithArgs") |
public ReturnCode runCommandAsyncWithArgs( |
@WebParam(name = "executable") String cmd, |
@WebParam(name = "arg") String[] args) { |
public ReturnCode runCommandAsyncWithArgs(@WebParam(name = "executable") String cmd, |
@WebParam(name = "arg") String[] args) { |
return executeCommand(cmd, args, null, true, null, false, true, false, |
0); |
} |
return executeCommand(cmd, |
args, |
null, |
true, |
null, |
false, |
true, |
false, |
0); |
} |
/* |
* (non-Javadoc) |
* |
* @see |
* net.brutex.xservices.ws.impl.ExecuteService#runCommandWithSSH(java.lang |
* .String, int, java.lang.String, java.lang.String, java.lang.String, long) |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.impl.ExecuteService#runCommandWithSSH(java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, long) |
*/ |
@Override |
@WebMethod(operationName = "runCommandWithSSH") |
public ReturnCode runCommandWithSSH( |
@WebParam(name = "host") HostConnection host, |
@WebParam(name = "command") String cmd, |
@WebParam(name = "timeout") long timeout) { |
public ReturnCode runCommandWithSSH(@WebParam(name = "host") HostConnection host, |
@WebParam(name = "command") String cmd, |
@WebParam(name = "timeout") long timeout) { |
return sshExec(host.hostname, host.user, host.password, host.port, cmd, |
timeout); |
} |
return sshExec(host.hostname, host.user, host.password, host.port, cmd, timeout); |
} |
/* |
* (non-Javadoc) |
* |
* @see |
* net.brutex.xservices.ws.impl.ExecuteService#runCommandWithSSHKeyAuth( |
* java.lang.String, int, java.lang.String, java.lang.String, |
* java.lang.String, java.lang.String, long) |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.impl.ExecuteService#runCommandWithSSHKeyAuth(java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, long) |
*/ |
@Override |
@WebMethod(operationName = "runCommandWithSSHKeyAuth") |
public ReturnCode runCommandWithSSHKeyAuth( |
@WebParam(name = "host") HostConnection host, |
@WebParam(name = "keyfile") String keyfile, |
@WebParam(name = "command") String cmd, |
@WebParam(name = "timeout") long timeout) { |
public ReturnCode runCommandWithSSHKeyAuth(@WebParam(name = "host") HostConnection host, |
@WebParam(name = "keyfile") String keyfile, |
@WebParam(name = "command") String cmd, |
@WebParam(name = "timeout") long timeout) { |
return sshExecWithCert(host.hostname, host.user, host.password, |
keyfile, host.port, cmd, timeout); |
} |
return sshExecWithCert(host.hostname, host.user, host.password, keyfile, host.port, cmd, timeout); |
} |
/* |
* (non-Javadoc) |
* |
* @see |
* net.brutex.xservices.ws.impl.ExecuteService#rExec(net.brutex.xservices |
* .types.HostConnection, java.lang.String, long) |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.impl.ExecuteService#rExec(net.brutex.xservices.types.HostConnection, java.lang.String, long) |
*/ |
@Override |
@WebMethod(operationName = "rExec") |
public ReturnCode rExec(@WebParam(name = "host") HostConnection host, |
@WebParam(name = "command") String cmd, |
@WebParam(name = "timeout") long timeout) { |
return rexec(host.hostname, host.port, host.user, host.password, cmd, |
timeout); |
} |
public ReturnCode rExec(@WebParam(name = "host") HostConnection host, |
@WebParam(name = "command") String cmd, |
@WebParam(name = "timeout") long timeout) { |
return rexec(host.hostname, host.port, host.user, host.password, cmd, timeout); |
} |
/* |
* (non-Javadoc) |
* |
* @see |
* net.brutex.xservices.ws.impl.ExecuteService#runTelnet(net.brutex.xservices |
* .types.HostConnection, java.lang.String, java.lang.String, |
* java.lang.String, long) |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.impl.ExecuteService#runTelnet(net.brutex.xservices.types.HostConnection, java.lang.String, java.lang.String, java.lang.String, long) |
*/ |
@Override |
@WebMethod(operationName = "telnet") |
public ReturnCode runTelnet(@WebParam(name = "host") HostConnection host, |
@WebParam(name = "prompt") String prompt, |
@WebParam(name = "command") String cmd, |
@WebParam(name = "expect") String expect, |
@WebParam(name = "timeout") long timeout) { |
return telnet(host.hostname, host.port, host.user, host.password, cmd, |
timeout, prompt, expect); |
} |
public ReturnCode runTelnet(@WebParam(name = "host") HostConnection host, |
@WebParam(name = "prompt") String prompt, |
@WebParam(name = "command") String cmd, |
@WebParam(name = "expect") String expect, |
@WebParam(name = "timeout") long timeout) { |
return telnet(host.hostname, host.port, host.user, host.password, cmd, timeout, prompt, expect); |
} |
public void runJScript(String script) throws XServicesFault { |
@WebMethod(exclude = true) |
private ReturnCode executeCommand(String executable, |
String[] args, |
File dir, |
boolean spawn, |
String inputstring, |
boolean newenvironment, |
boolean vmlauncher, |
boolean searchpath, |
long timeout) { |
ExecTask exe = new ExecTask(); |
RunTask runner = new RunTask(exe); |
try { |
// Create and enter a Context. A Context stores information about |
// the execution environment of a script. |
Context cx = Context.enter(); |
cx.setOptimizationLevel(0); |
cx.setLanguageVersion(Context.VERSION_1_7); |
// cx is the Context instance you're using to run scripts |
/* |
* cx.setClassShutter(new ClassShutter() { public boolean |
* visibleToScripts(String className) { |
* if(className.startsWith("adapter")) return true; |
* if(className.startsWith("java.lang.System") || |
* className.startsWith |
* ("org.apache.tomcat.util.log.SystemLogHandler")) return true; |
* System.out.println(className + " is blocked."); return false; } |
* }); |
*/ |
/* |
Commandline cmdl = new Commandline(); |
cmdl.setExecutable(executable); |
cmdl.addArguments(args); |
System.out.println(cmdl.describeCommand()); |
*/ |
exe.setExecutable(executable); |
for (String s : args) { |
exe.createArg().setValue(s); |
} |
// Initialise the standard objects (Object, Function, etc.). This |
// must be done before scripts can be |
// executed. The null parameter tells initStandardObjects |
// to create and return a scope object that we use |
// in later calls. |
Scriptable scope = cx.initStandardObjects(); |
// Object wrappedOut = Context.javaToJS(System.out, scope); |
// Object wrappedOut2 = Context.javaToJS(this, scope); |
// scope.put("out", scope, wrappedOut); |
// scope.put("exe", scope, wrappedOut2); |
exe.setDir(dir); |
if (spawn) { |
exe.setSpawn(spawn); |
} else { |
exe.setTimeout(timeout); |
exe.setInputString(inputstring); |
exe.setOutputproperty("ExecuteService.stdout"); |
exe.setErrorProperty("ExecuteService.stderr"); |
exe.setResultProperty("ExecuteService.result"); |
} |
// Execute the script |
// cx.evaluateString(scope, "importClass('java.lang.System');\n", |
// "head", 1, null); |
// cx.evaluateString(scope, "importPackage('java.util');\n", "head", |
// 2, null); |
Object obj = cx |
.evaluateString(scope, script, "TestScript", 1, null); |
exe.setNewenvironment(newenvironment); |
exe.setVMLauncher(vmlauncher); |
exe.setSearchPath(searchpath); |
} catch (Exception e) { |
System.out.println(e.getMessage()); |
} finally { |
// Exit the Context. This removes the association between the |
// Context and the current thread and is an |
// essential cleanup action. There should be a call to exit for |
// every call to enter. |
Context.exit(); |
} |
return runner.postTask(); |
} |
} |
@WebMethod(exclude = true) |
private ReturnCode sshExec(String host, |
String username, |
String password, |
int port, |
String command, |
long timeout) { |
SSHExec sshexec = new SSHExec(); |
RunTask runner = new RunTask(sshexec); |
sshexec.setHost(host); |
sshexec.setUsername(username); |
sshexec.setPassword(password); |
sshexec.setPort(port); |
sshexec.setCommand(command); |
sshexec.setTrust(true); |
sshexec.setTimeout(timeout); |
sshexec.setOutputproperty("SSHExec.stdout"); |
return runner.postTask(); |
} |
@WebMethod(exclude = true) |
private ReturnCode executeCommand(String executable, String[] args, |
File dir, boolean spawn, String inputstring, |
boolean newenvironment, boolean vmlauncher, boolean searchpath, |
long timeout) { |
ExecTask exe = new ExecTask(); |
RunTask runner = new RunTask(exe); |
@WebMethod(exclude = true) |
private ReturnCode sshExecWithCert(String host, |
String username, |
String passphrase, |
String keyfile, |
int port, |
String command, |
long timeout) { |
SSHExec sshexec = new SSHExec(); |
RunTask runner = new RunTask(sshexec); |
sshexec.setHost(host); |
sshexec.setUsername(username); |
sshexec.setKeyfile(keyfile); |
sshexec.setPassphrase(passphrase); |
sshexec.setPort(port); |
sshexec.setCommand(command); |
sshexec.setTrust(true); |
sshexec.setTimeout(timeout); |
sshexec.setOutputproperty("SSHExec.stdout"); |
return runner.postTask(); |
} |
/* |
* Commandline cmdl = new Commandline(); cmdl.setExecutable(executable); |
* cmdl.addArguments(args); System.out.println(cmdl.describeCommand()); |
*/ |
@WebMethod(exclude = true) |
private ReturnCode rexec(String host, |
int port, |
String username, |
String password, |
String command, |
long timeout) { |
RExecTask rexec = new RExecTask(); |
RunTask runner = new RunTask(rexec); |
rexec.setServer(host); |
rexec.setPort(port); |
rexec.setUserid(username); |
rexec.setPassword(password); |
rexec.setCommand(command); |
rexec.setTimeout((int) Math.round(timeout)); |
exe.setExecutable(executable); |
for (String s : args) { |
exe.createArg().setValue(s); |
} |
return runner.postTask(); |
} |
exe.setDir(dir); |
if (spawn) { |
exe.setSpawn(spawn); |
} else { |
exe.setTimeout(timeout); |
exe.setInputString(inputstring); |
exe.setOutputproperty("ExecuteService.stdout"); |
exe.setErrorProperty("ExecuteService.stderr"); |
exe.setResultProperty("ExecuteService.result"); |
} |
@WebMethod(exclude = true) |
private ReturnCode telnet(String host, |
int port, |
String username, |
String password, |
String command, |
long timeout, String prompt, String expect) { |
TelnetTask rexec = new TelnetTask(); |
RunTask runner = new RunTask(rexec); |
rexec.setServer(host); |
rexec.setPort(port); |
rexec.setUserid(username); |
rexec.setPassword(password); |
rexec.setTimeout((int) Math.round(timeout)); |
rexec.createRead().addText(prompt); |
rexec.createWrite().addText(command); |
rexec.createRead().addText(expect); |
exe.setNewenvironment(newenvironment); |
exe.setVMLauncher(vmlauncher); |
exe.setSearchPath(searchpath); |
return runner.postTask(); |
} |
@WebMethod(exclude = true) |
private ReturnCode sshExec(String host, String username, String password, |
int port, String command, long timeout) { |
SSHExec sshexec = new SSHExec(); |
RunTask runner = new RunTask(sshexec); |
sshexec.setHost(host); |
sshexec.setUsername(username); |
sshexec.setPassword(password); |
sshexec.setPort(port); |
sshexec.setCommand(command); |
sshexec.setTrust(true); |
sshexec.setTimeout(timeout); |
sshexec.setOutputproperty("SSHExec.stdout"); |
return runner.postTask(); |
} |
@WebMethod(exclude = true) |
private ReturnCode sshExecWithCert(String host, String username, |
String passphrase, String keyfile, int port, String command, |
long timeout) { |
SSHExec sshexec = new SSHExec(); |
RunTask runner = new RunTask(sshexec); |
sshexec.setHost(host); |
sshexec.setUsername(username); |
sshexec.setKeyfile(keyfile); |
sshexec.setPassphrase(passphrase); |
sshexec.setPort(port); |
sshexec.setCommand(command); |
sshexec.setTrust(true); |
sshexec.setTimeout(timeout); |
sshexec.setOutputproperty("SSHExec.stdout"); |
return runner.postTask(); |
} |
@WebMethod(exclude = true) |
private ReturnCode rexec(String host, int port, String username, |
String password, String command, long timeout) { |
RExecTask rexec = new RExecTask(); |
RunTask runner = new RunTask(rexec); |
rexec.setServer(host); |
rexec.setPort(port); |
rexec.setUserid(username); |
rexec.setPassword(password); |
rexec.setCommand(command); |
rexec.setTimeout((int) Math.round(timeout)); |
return runner.postTask(); |
} |
@WebMethod(exclude = true) |
private ReturnCode telnet(String host, int port, String username, |
String password, String command, long timeout, String prompt, |
String expect) { |
TelnetTask rexec = new TelnetTask(); |
RunTask runner = new RunTask(rexec); |
rexec.setServer(host); |
rexec.setPort(port); |
rexec.setUserid(username); |
rexec.setPassword(password); |
rexec.setTimeout((int) Math.round(timeout)); |
rexec.createRead().addText(prompt); |
rexec.createWrite().addText(command); |
rexec.createRead().addText(expect); |
return runner.postTask(); |
} |
return runner.postTask(); |
} |
} |
/xservices/trunk/src/java/net/brutex/xservices/ws/impl/ArchiveServiceImpl.java |
---|
22,7 → 22,9 |
import net.brutex.xservices.types.ArchiveResource; |
import net.brutex.xservices.types.CompressionType; |
import net.brutex.xservices.types.FileResource; |
import net.brutex.xservices.types.FileSetResource; |
import net.brutex.xservices.types.ResourceInterface; |
import net.brutex.xservices.types.ResourceSetInterface; |
import net.brutex.xservices.types.ReturnCode; |
import net.brutex.xservices.util.BrutexNamespaces; |
import net.brutex.xservices.util.RunTask; |
50,6 → 52,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#bzip2(net.brutex.xservices.types.FileResource, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = WS_OPERATION_BZIP2, action = WS_OPERATION_BZIP2) |
public ReturnCode bzip2(@WebParam(name = WS_PARAM_SOURCEFILE) FileResource src, |
@WebParam(name = WS_PARAM_DESTFILE) String file) { |
59,7 → 62,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#bzip2FromArchive(net.brutex.xservices.types.ArchiveResource, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = WS_OPERATION_BZIP2_ARCHIVE, action = WS_OPERATION_BZIP2_ARCHIVE) |
public ReturnCode bzip2FromArchive(@WebParam(name = WS_PARAM_SOURCEARCHIVE) ArchiveResource src, |
@WebParam(name = WS_PARAM_DESTFILE) String file) { |
69,7 → 72,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#gzip(net.brutex.xservices.types.FileResource, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = WS_OPERATION_GZIP, action = WS_OPERATION_GZIP) |
public ReturnCode gzip(@WebParam(name = WS_PARAM_SOURCEFILE) FileResource src, |
@WebParam(name = WS_PARAM_DESTFILE) String file) { |
79,7 → 82,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#gzipFromArchive(net.brutex.xservices.types.ArchiveResource, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = WS_OPERATION_GZIP_ARCHIVE, action = WS_OPERATION_GZIP_ARCHIVE) |
public ReturnCode gzipFromArchive(@WebParam(name = WS_PARAM_SOURCEARCHIVE) ArchiveResource src, |
@WebParam(name = WS_PARAM_DESTFILE) String file) { |
89,7 → 92,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#gunzip(java.lang.String, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = WS_OPERATION_GUNZIP, action = WS_OPERATION_GUNZIP) |
public ReturnCode gunzip(@WebParam(name = WS_PARAM_SOURCEFILE_STRING) String src, |
@WebParam(name = WS_PARAM_DESTDIR) String dest) { |
103,7 → 106,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#bunzip2(java.lang.String, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = WS_OPERATION_BUNZIP2) |
public ReturnCode bunzip2(@WebParam(name = WS_PARAM_SOURCEFILE_STRING) String src, |
@WebParam(name = WS_PARAM_DESTDIR) String dest) { |
117,7 → 120,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#gunzipFromURL(java.lang.String, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = "gunzipFromURL") |
public ReturnCode gunzipFromURL(@WebParam(name = WS_PARAM_SOURCEURL) String src, |
@WebParam(name = WS_PARAM_DESTDIR) String dest) { |
131,7 → 134,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#bunzip2FromURL(java.lang.String, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = "bunzip2FromURL") |
public ReturnCode bunzip2FromURL(@WebParam(name = WS_PARAM_SOURCEURL) String src, |
@WebParam(name = WS_PARAM_DESTDIR) String dest) { |
145,7 → 148,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#zip(net.brutex.xservices.types.FileResource, java.lang.String, boolean, java.lang.String, int) |
*/ |
@Override |
@WebMethod(operationName = "zip") |
public ReturnCode zip(@WebParam(name = WS_PARAM_SOURCEFILE) FileResource src, |
@WebParam(name = WS_PARAM_DESTFILE) String file, |
164,7 → 167,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#zipFromArchive(net.brutex.xservices.types.ArchiveResource, java.lang.String, boolean, java.lang.String, int) |
*/ |
@Override |
@WebMethod(operationName = "zipFromArchive") |
public ReturnCode zipFromArchive(@WebParam(name = WS_PARAM_SOURCEARCHIVE) ArchiveResource src, |
@WebParam(name = WS_PARAM_DESTFILE) String file, |
177,7 → 180,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#unzip(java.lang.String, java.lang.String, boolean, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = "unzip") |
public ReturnCode unzip(@WebParam(name = WS_PARAM_SOURCEFILE_STRING) String src, |
@WebParam(name = WS_PARAM_DESTDIR) String dest, |
189,7 → 192,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#unrar(java.lang.String, java.lang.String) |
*/ |
@Override |
@WebMethod(operationName = "unrar") |
public ReturnCode unrar(@WebParam(name = WS_PARAM_SOURCEFILE_STRING) String src, |
@WebParam(name = WS_PARAM_DESTDIR) String dest) { |
199,7 → 202,7 |
/* (non-Javadoc) |
* @see net.brutex.xservices.ws.ArchiveService#untar(java.lang.String, java.lang.String, boolean, net.brutex.xservices.types.CompressionType) |
*/ |
@Override |
@WebMethod(operationName = "untar") |
public ReturnCode untar(@WebParam(name = WS_PARAM_SOURCEFILE_STRING) String src, |
@WebParam(name = WS_PARAM_DESTDIR) String dest, |
/xservices/trunk/src/java/net/brutex/xservices/ws/FileService.java |
---|
26,6 → 26,8 |
import org.apache.cxf.annotations.WSDLDocumentation; |
import org.apache.cxf.annotations.WSDLDocumentationCollection; |
import com.sun.xml.internal.ws.api.model.wsdl.WSDLDescriptorKind; |
import net.brutex.xservices.types.ArchiveResource; |
import net.brutex.xservices.types.AttachmentType; |
import net.brutex.xservices.types.FileResource; |
35,10 → 37,7 |
import net.brutex.xservices.util.BrutexNamespaces; |
import net.brutex.xservices.util.XServicesDocumentation; |
/** |
* File related web service operations. |
* |
* @author Brian Rosenberger |
* @since 0.3.0 |
* |
*/ |
@WebService(targetNamespace = BrutexNamespaces.WS_XSERVICES) |
49,25 → 48,21 |
) |
public interface FileService { |
final String OPERATION_BASENAME ="basename"; |
final String OPERATION_DOWNLOADFILE ="downloadFile"; |
final String OPERATION_UPLOADFILE ="uploadFile"; |
final String OPERATION_COPY ="copy"; |
final String OPERATION_COPYFILE ="copyFile"; |
final String OPERATION_LOADRESOURCE = "loadResource"; |
final String OPERATION_LOADRESOURCEFROMARCHIVE = "loadResourceFromArchive"; |
final String OPERATION_ECHOTOFILE = "echoToFile"; |
final String OPERATION_CHANGEOWNER = "changeOwner"; |
final String OPERATION_CHANGEMODE = "changeMode"; |
final String OPERATION_CHANGEGROUP = "changeGroup"; |
final String OPERATION_REPLACEINFILE = "replaceInFile"; |
final String OPERATION_REPLACEINFILE2 = "replaceInFile2"; |
final String OPERATION_REPLACEINFILEREGEX = "replaceInFileRegEx"; |
public static final String OPERATION_BASENAME ="basename"; |
public static final String OPERATION_DOWNLOADFILE ="downloadFile"; |
public static final String OPERATION_UPLOADFILE ="uploadFile"; |
public static final String OPERATION_COPY ="copy"; |
public static final String OPERATION_COPYFILE ="copyFile"; |
public static final String OPERATION_LOADRESOURCE = "loadResource"; |
public static final String OPERATION_LOADRESOURCEFROMARCHIVE = "loadResourceFromArchive"; |
public static final String OPERATION_ECHOTOFILE = "echoToFile"; |
public static final String OPERATION_CHANGEOWNER = "changeOwner"; |
public static final String OPERATION_CHANGEMODE = "changeMode"; |
public static final String OPERATION_CHANGEGROUP = "changeGroup"; |
public static final String OPERATION_REPLACEINFILE = "replaceInFile"; |
public static final String OPERATION_REPLACEINFILE2 = "replaceInFile2"; |
public static final String OPERATION_REPLACEINFILEREGEX = "replaceInFileRegEx"; |
final String PARAM_FILE = "file"; |
final String PARAM_ENCODING = "encoding"; |
final String PARAM_OVERRIDE = "override"; |
/** |
* @param filename |
* @param suffix |
76,7 → 71,7 |
@WSDLDocumentation(value = "The base name of the given file excluding the suffix.") |
@WebMethod(operationName = OPERATION_BASENAME) |
public abstract String basename( |
@WebParam(name = PARAM_FILE) @XmlElement(required=true) String filename, |
@WebParam(name = "file") @XmlElement(required=true) String filename, |
@WebParam(name = "suffix") String suffix); |
/** |
97,7 → 92,7 |
@WSDLDocumentation(XServicesDocumentation.SERVICE_OPERATION_UPLOADFILE) |
@WebMethod(operationName = OPERATION_UPLOADFILE) |
public abstract String uploadFile( |
@WebParam(name = PARAM_FILE) AttachmentType file) throws XServicesFault; |
@WebParam(name = "file") AttachmentType file) throws XServicesFault; |
/** |
* @param src |
114,8 → 109,8 |
@WebParam(name = FileSetResource.XML_NAME) @XmlElement(required=true) FileSetResource src, |
@WebParam(name = "todir") @XmlElement(required=true) String todir, |
@WebParam(name = "preservelastmodified") boolean plm, |
@WebParam(name = PARAM_OVERRIDE) boolean overwrite, |
@WebParam(name = PARAM_ENCODING) String encoding) throws XServicesFault; |
@WebParam(name = "overwrite") boolean overwrite, |
@WebParam(name = "encoding") String encoding) throws XServicesFault; |
/** |
* @param fromFile |
129,7 → 124,7 |
public abstract ReturnCode copyFile( |
@WebParam(name = "fromFile") @XmlElement(required=true) String fromFile, |
@WebParam(name = "toFile") @XmlElement(required=true) String tofile, |
@WebParam(name = PARAM_OVERRIDE) boolean overwrite) throws XServicesFault; |
@WebParam(name = "overwrite") boolean overwrite) throws XServicesFault; |
/** |
* @param res |
141,7 → 136,7 |
@WebMethod(operationName = OPERATION_LOADRESOURCE) |
public abstract String loadRes( |
@WebParam(name = FileResource.XML_NAME) FileResource res, |
@WebParam(name = PARAM_ENCODING) String encoding) throws XServicesFault; |
@WebParam(name = "encoding") String encoding) throws XServicesFault; |
/** |
* @param res |
153,7 → 148,7 |
@WebMethod(operationName = OPERATION_LOADRESOURCEFROMARCHIVE) |
public abstract String loadResFromArchive( |
@WebParam(name = "archiveresource") ArchiveResource res, |
@WebParam(name = PARAM_ENCODING) String encoding) throws XServicesFault; |
@WebParam(name = "encoding") String encoding) throws XServicesFault; |
/** |
* @param message |
167,18 → 162,14 |
@WebMethod(operationName = OPERATION_ECHOTOFILE) |
public abstract ReturnCode echo2file( |
@WebParam(name = "message") @XmlElement(required=true) String message, |
@WebParam(name = PARAM_FILE) @XmlElement(required=true) String file, |
@WebParam(name = PARAM_ENCODING) String encoding, |
@WebParam(name = "file") @XmlElement(required=true) String file, |
@WebParam(name = "encoding") String encoding, |
@WebParam(name = "append") boolean append) throws XServicesFault; |
/** |
* Changes the owner of a file or all files inside specified directories. |
* Right now it has effect only under Unix/ Linux as it is implemented through |
* the 'chown' command. |
* |
* @param res Collection of files/ directories |
* @param owner Identifier of the new owner |
* @return |
* @param res |
* @param owner |
* @return |
*/ |
@WebMethod(operationName = OPERATION_CHANGEOWNER) |
public abstract ReturnCode changeOwner( |
186,12 → 177,8 |
@WebParam(name = "owner") @XmlElement(required=true) String owner); |
/** |
* Changes the group owner of a file or all files inside specified directories. |
* Right now it has effect only under Unix/ Linux as it is implemented through |
* the 'chgrp' command. |
* |
* @param res Collection of files/ directories |
* @param group Identifier of the new group owner |
* @param res |
* @param group |
* @return |
*/ |
@WebMethod(operationName = OPERATION_CHANGEGROUP) |
/xservices/trunk/src/java/net/brutex/xservices/ws/MiscService.java |
---|
28,7 → 28,6 |
/** |
* |
* @author Brian Rosenberger, bru@brutex.de |
* @since 0.4.0 |
*/ |
@WebService(targetNamespace = BrutexNamespaces.WS_XSERVICES) |
public interface MiscService { |
/xservices/trunk/src/java/net/brutex/xservices/types/ScheduledJob.java |
---|
File deleted |
Property changes: |
Deleted: svn:mime-type |
-text/plain |
\ No newline at end of property |
/xservices/trunk/src/java/net/brutex/xservices/types/ReturnCode.java |
---|
86,6 → 86,4 |
} |
return null; |
} |
public String getStdOut() { return this.stdOut; } |
} |
/xservices/trunk/src/java/net/brutex/xservices/util/JobWrapper.java |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:mime-type |
-text/plain |
\ No newline at end of property |
/xservices/trunk/src/java/net/brutex/xservices/util/BrutexQuartzConnectionProvider.java |
---|
File deleted |
Property changes: |
Deleted: svn:mime-type |
-text/plain |
\ No newline at end of property |