Subversion Repositories XServices

Compare Revisions

Ignore whitespace Rev 11 → Rev 12

/xservices/trunk/src/java/net/brutex/xservices/ws/FileService.java
13,11 → 13,9
* See the License for the specific language governing permissions and
* limitations under the License.
*/
 
package net.brutex.xservices.ws;
 
import java.io.File;
import java.util.Map;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
25,11 → 23,14
import net.brutex.xservices.types.FileResource;
import net.brutex.xservices.types.FileSetResource;
import net.brutex.xservices.types.ResourceInterface;
import net.brutex.xservices.types.ReturnCode;
import net.brutex.xservices.util.RunTask;
import org.apache.tools.ant.taskdefs.Basename;
import org.apache.tools.ant.taskdefs.Copy;
import org.apache.tools.ant.taskdefs.Echo;
import org.apache.tools.ant.taskdefs.LoadResource;
import org.apache.tools.ant.taskdefs.optional.unix.Chgrp;
import org.apache.tools.ant.taskdefs.optional.unix.Chown;
import org.apache.tools.ant.types.FileSet;
 
/**
36,31 → 37,27
*
* @author Brian Rosenberger, bru@brutex.de
*/
@WebService(targetNamespace="http://ws.xservices.brutex.net", name="FileService")
@WebService(targetNamespace = "http://ws.xservices.brutex.net", name = "FileService")
public class FileService {
 
@WebMethod(operationName = "basename")
public String basename(@WebParam(name = "file") String filename,
public ReturnCode basename(@WebParam(name = "file") String filename,
@WebParam(name = "suffix") String suffix) {
return basename(new File(filename), suffix);
}
 
@WebMethod(operationName = "copy")
public void copy(@WebParam(name="fileset") FileSetResource src,
@WebParam(name="todir") String todir,
@WebParam(name="preservelastmodified") boolean plm,
@WebParam(name="overwrite") boolean overwrite,
@WebParam(name="encoding") String encoding)
throws XServicesFault {
try {
copy(src, new File(todir), plm, overwrite, encoding);
} catch (Exception ex) {
throw new XServicesFault(ex.getMessage(), ex);
}
public ReturnCode copy(@WebParam(name = "fileset") FileSetResource src,
@WebParam(name = "todir") String todir,
@WebParam(name = "preservelastmodified") boolean plm,
@WebParam(name = "overwrite") boolean overwrite,
@WebParam(name = "encoding") String encoding)
throws XServicesFault {
return copy(src, new File(todir), plm, overwrite, encoding);
}
 
@WebMethod(operationName = "loadResource")
public String loadRes(@WebParam(name = "resource") FileResource res,
public ReturnCode loadRes(@WebParam(name = "resource") FileResource res,
@WebParam(name = "encoding") String encoding) {
if (encoding == null || encoding.equals("")) {
encoding = System.getProperty("file.encoding");
69,7 → 66,7
}
 
@WebMethod(operationName = "loadResourceFromArchive")
public String loadResFromArchive(@WebParam(name = "archiveresource") ArchiveResource res,
public ReturnCode loadResFromArchive(@WebParam(name = "archiveresource") ArchiveResource res,
@WebParam(name = "encoding") String encoding) {
if (encoding == null || encoding.equals("")) {
encoding = System.getProperty("file.encoding");
78,14 → 75,26
}
 
@WebMethod(operationName = "echoToFile")
public String echo2file(@WebParam(name="message") String message,
@WebParam(name="file")String file, @WebParam(name="encoding") String encoding,
@WebParam(name="append")boolean append) {
public ReturnCode echo2file(@WebParam(name = "message") String message,
@WebParam(name = "file") String file, @WebParam(name = "encoding") String encoding,
@WebParam(name = "append") boolean append) {
return echo(message, new File(file), encoding, append);
}
 
@WebMethod(operationName = "changeOwner")
public ReturnCode changeOwner(@WebParam(name = "fileset") FileSetResource res,
@WebParam(name = "owner") String owner) {
return chown(res, owner);
}
 
@WebMethod(operationName = "changeGroup")
public ReturnCode changeGroup(@WebParam(name = "fileset") FileSetResource res,
@WebParam(name = "group") String group) {
return chgrp(res, group);
}
 
@WebMethod(exclude = true)
private String basename(File file,
private ReturnCode basename(File file,
String suffix) {
Basename basename = new Basename();
RunTask runner = new RunTask(basename);
94,11 → 103,11
basename.setSuffix(suffix);
}
basename.setProperty("basename.value");
Map<String, String> result = runner.postTask();
return result.get("basename.value");
return runner.postTask();
}
@WebMethod(exclude = true)
private String loadResource(ResourceInterface src, String encoding) {
 
@WebMethod(exclude = true)
private ReturnCode loadResource(ResourceInterface src, String encoding) {
LoadResource lr = new LoadResource();
lr.setTaskName("LoadResource");
RunTask runner = new RunTask(lr);
106,12 → 115,11
lr.setEncoding(encoding);
System.out.println("Using encoding: " + encoding);
lr.setProperty("LoadResource.out");
Map<String, String> result = runner.postTask();
return result.get("LoadResource.out");
return runner.postTask();
}
 
@WebMethod(exclude = true)
private String echo(String msg, File file, String encoding, boolean append) {
private ReturnCode echo(String msg, File file, String encoding, boolean append) {
Echo echo = new Echo();
echo.setTaskName("toFile");
RunTask runTask = new RunTask(echo);
119,12 → 127,11
echo.setEncoding(encoding);
echo.setFile(file);
echo.setAppend(append);
Map<String, String> result = runTask.postTask();
return "complete";
return runTask.postTask();
}
 
@WebMethod(exclude=true)
private void copy(FileSetResource src, File dst, boolean preservelastmodified,
@WebMethod(exclude = true)
private ReturnCode copy(FileSetResource src, File dst, boolean preservelastmodified,
boolean overwrite, String encoding) {
Copy copy = new Copy();
copy.setTaskName("Copy");
132,16 → 139,42
FileSet set = src.getAntFileSet(copy.getProject());
copy.add(set);
 
if(dst.isDirectory()) copy.setTodir(dst);
if(dst.isFile()) copy.setTofile(dst);
if (dst.isDirectory()) {
copy.setTodir(dst);
}
if (dst.isFile()) {
copy.setTofile(dst);
}
copy.setOverwrite(overwrite);
copy.setPreserveLastModified(preservelastmodified);
if(encoding!=null && !encoding.equals("") ) {
if (encoding != null && !encoding.equals("")) {
copy.setOutputEncoding(encoding);
} else {
copy.setOutputEncoding(System.getProperty("file.encoding"));
}
 
Map<String, String> result = runner.postTask();
return runner.postTask();
}
 
@WebMethod(exclude = true)
private ReturnCode chown(FileSetResource src, String owner) {
Chown chown = new Chown();
chown.setTaskName("Chown");
RunTask runner = new RunTask(chown);
chown.setOwner(owner);
FileSet set = src.getAntFileSet(chown.getProject());
chown.add(set);
return runner.postTask();
}
 
@WebMethod(exclude = true)
private ReturnCode chgrp(FileSetResource src, String group) {
Chgrp chgrp = new Chgrp();
chgrp.setTaskName("Chgrp");
RunTask runner = new RunTask(chgrp);
chgrp.setGroup(group);
FileSet set = src.getAntFileSet(chgrp.getProject());
chgrp.add(set);
return runner.postTask();
}
}