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; |
|
/** |
40,27 → 41,23 |
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, |
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 { |
try { |
copy(src, new File(todir), plm, overwrite, encoding); |
} catch (Exception ex) { |
throw new XServicesFault(ex.getMessage(), ex); |
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, |
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) { |
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, |
private ReturnCode copy(FileSetResource src, File dst, boolean preservelastmodified, |
boolean overwrite, String encoding) { |
Copy copy = new Copy(); |
copy.setTaskName("Copy"); |
132,8 → 139,12 |
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("") ) { |
142,6 → 153,28 |
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(); |
} |
} |