/xservices/trunk/src/java/net/brutex/xservices/types/ReplacePattern.java |
---|
0,0 → 1,75 |
/* |
* Copyright 2010 Brian Rosenberger (Brutex Network) |
* |
* Licensed under the Apache License, Version 2.0 (the "License"); |
* you may not use this file except in compliance with the License. |
* You may obtain a copy of the License at |
* |
* http://www.apache.org/licenses/LICENSE-2.0 |
* |
* Unless required by applicable law or agreed to in writing, software |
* distributed under the License is distributed on an "AS IS" BASIS, |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
* See the License for the specific language governing permissions and |
* limitations under the License. |
*/ |
package net.brutex.xservices.types; |
import java.util.ArrayList; |
import java.util.List; |
import java.util.Map; |
import javax.xml.bind.annotation.XmlElement; |
import javax.xml.bind.annotation.XmlRootElement; |
/** |
* Generic key/ value pairs. |
* |
* @author Brian Rosenberger |
*/ |
@XmlRootElement |
public class ReplacePattern { |
/** |
* Search string. |
*/ |
@XmlElement(required=true) |
public String search =""; |
/** |
* Replace string. |
*/ |
@XmlElement(required=true) |
public String replace=""; |
/** |
* Converts a Map<String, String> into a list of |
* ReplacePattern. |
* @param map The map to convert |
* @return A list of key/value pairs |
*/ |
public static List<ReplacePattern> createAntPropertyList(Map<String, String> map) { |
List<ReplacePattern> list = new ArrayList<ReplacePattern>(); |
for(Map.Entry<String, String> e : map.entrySet()) { |
list.add(new ReplacePattern(e.getKey(), e.getValue())); |
} |
return list; |
} |
/** |
* Creates a new ReplacePattern. |
* @param name |
* @param value |
*/ |
public ReplacePattern(String search, String replace) { |
this.search = search; |
this.replace = replace; |
} |
/** |
* Creates a new ReplacePattern. |
*/ |
public ReplacePattern() { |
} |
} |
Property changes: |
Added: svn:mime-type |
+text/plain |
\ No newline at end of property |
/xservices/trunk/src/java/net/brutex/xservices/ws/FileService.java |
---|
1,5 → 1,7 |
package net.brutex.xservices.ws; |
import java.util.List; |
import javax.activation.DataHandler; |
import javax.jws.WebMethod; |
import javax.jws.WebParam; |
9,6 → 11,7 |
import net.brutex.xservices.types.AttachmentType; |
import net.brutex.xservices.types.FileResource; |
import net.brutex.xservices.types.FileSetResource; |
import net.brutex.xservices.types.ReplacePattern; |
import net.brutex.xservices.types.ReturnCode; |
import net.brutex.xservices.util.BrutexNamespaces; |
@WebService(targetNamespace = BrutexNamespaces.WS_XSERVICES) |
67,4 → 70,21 |
@WebParam(name = "fileset") FileSetResource res, |
@WebParam(name = "permissions") String perm); |
@WebMethod(operationName = "replaceInFile") |
public abstract ReturnCode replaceInFile( |
@WebParam(name = "file") FileResource res, |
@WebParam(name = "search") String search, |
@WebParam(name = "replace") String replace); |
@WebMethod(operationName = "replaceInFile2") |
public abstract ReturnCode replaceInFile2( |
@WebParam(name = "file") FileResource res, |
@WebParam(name = "patternList") List<ReplacePattern> patternList); |
@WebMethod(operationName = "replaceInFileRegEx") |
public abstract ReturnCode replaceInFileRegEx( |
@WebParam(name = "file") FileResource res, |
@WebParam(name = "search") String search, |
@WebParam(name = "replace") String replace, |
@WebParam(name = "flags") String flags); |
} |
/xservices/trunk/src/java/net/brutex/xservices/ws/impl/FileServiceImpl.java |
---|
15,6 → 15,7 |
*/ |
package net.brutex.xservices.ws.impl; |
import java.io.BufferedInputStream; |
import java.io.File; |
import java.io.FileInputStream; |
import java.io.FileNotFoundException; |
34,6 → 35,7 |
import net.brutex.xservices.types.AttachmentType; |
import net.brutex.xservices.types.FileResource; |
import net.brutex.xservices.types.FileSetResource; |
import net.brutex.xservices.types.ReplacePattern; |
import net.brutex.xservices.types.ResourceInterface; |
import net.brutex.xservices.types.ReturnCode; |
import net.brutex.xservices.util.BrutexNamespaces; |
50,6 → 52,8 |
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.Replace; |
import org.apache.tools.ant.taskdefs.optional.ReplaceRegExp; |
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; |
74,6 → 78,58 |
return basename(new File(filename), suffix); |
} |
@WebMethod(operationName = "replaceInFile") |
public ReturnCode replaceInFile( |
@WebParam(name = "file") FileResource res, |
@WebParam(name = "search") String search, |
@WebParam(name = "replace") String replace) { |
ReturnCode r = null; |
Replace rep = new Replace(); |
rep.setTaskName("Replace"); |
RunTask runner = new RunTask(rep); |
rep.addConfigured(res.getAntResource(rep.getProject())); |
rep.setToken(search); |
rep.setValue(replace); |
r = runner.postTask(); |
return r; |
} |
@WebMethod(operationName = "replaceInFile2") |
public ReturnCode replaceInFile2( |
@WebParam(name = "file") FileResource res, |
@WebParam(name = "patternList") List<ReplacePattern> patternList) { |
ReturnCode r = null; |
for (ReplacePattern pat : patternList) { |
Replace rep = new Replace(); |
rep.setTaskName("Replace"); |
RunTask runner = new RunTask(rep); |
rep.addConfigured(res.getAntResource(rep.getProject())); |
rep.setToken(pat.search); |
rep.setValue(pat.replace); |
r = runner.postTask(); |
} |
return r; |
} |
@WebMethod(operationName = "replaceInFileRegEx") |
public ReturnCode replaceInFileRegEx( |
@WebParam(name = "file") FileResource res, |
@WebParam(name = "search") String search, |
@WebParam(name = "replace") String replace, |
@WebParam(name = "flags") String flags) { |
ReplaceRegExp rep = new ReplaceRegExp(); |
rep.setTaskName("ReplaceRegExp"); |
RunTask runner = new RunTask(rep); |
File infile = new File(res.uri); |
rep.setFile(infile); |
rep.setMatch(search); |
rep.setReplace(replace); |
rep.setFlags(flags); |
ReturnCode r = runner.postTask(); |
return r; |
} |
/* |
* (non-Javadoc) |
* |