Subversion Repositories XServices

Compare Revisions

Ignore whitespace Rev 92 → Rev 93

/xservices/trunk/src/java/net/brutex/xservices/ws/impl/StringServiceImpl.java
20,6 → 20,7
 
import javax.jws.WebService;
 
import net.brutex.xservices.types.StringMatchType;
import net.brutex.xservices.types.StringReplaceType;
import net.brutex.xservices.util.BrutexNamespaces;
import net.brutex.xservices.ws.StringService;
36,10 → 37,7
public StringReplaceType replaceRegEx(String res, String search,
String replace, String flags) throws XServicesFault {
try {
int allflags = 0;
if (flags.contains("i")) {
allflags = allflags + Pattern.CASE_INSENSITIVE;
}
int allflags = getFlags(flags);
Pattern pattern = Pattern.compile(search, allflags);
Matcher matcher = pattern.matcher(res);
int count = 0;
60,4 → 58,40
 
}
 
@Override
public StringMatchType matchRegEx(String res, String search, String flags)
throws XServicesFault {
int allflags = getFlags(flags);
Pattern pattern = Pattern.compile(search, allflags);
Matcher matcher = pattern.matcher(res);
StringMatchType rm = new StringMatchType();
while (matcher.find()) {
rm.addStringMatch(matcher.start(), matcher.end(), matcher.group());
}
return rm;
}
private int getFlags(String flags) {
int allflags = 0;
if(flags.contains("i")) {
allflags = allflags + Pattern.CASE_INSENSITIVE;
}
if(flags.contains("m")) {
allflags = allflags + Pattern.MULTILINE;
}
if(flags.contains("u")) {
allflags = allflags + Pattern.UNICODE_CASE;
}
if(flags.contains("s")) {
allflags = allflags + Pattern.DOTALL;
}
if(flags.contains("d")) {
allflags = allflags + Pattern.UNIX_LINES;
}
if(flags.contains("x")) {
allflags = allflags + Pattern.COMMENTS;
}
return allflags;
}
 
}
/xservices/trunk/src/java/net/brutex/xservices/ws/StringService.java
21,6 → 21,7
import javax.jws.WebService;
 
import net.brutex.xservices.types.ReturnCode;
import net.brutex.xservices.types.StringMatchType;
import net.brutex.xservices.types.StringReplaceType;
import net.brutex.xservices.types.TargetNodeType;
import net.brutex.xservices.types.ant.AttachmentType;
42,6 → 43,7
public static final String SERVICE_NAME = "StringService";
final String OPERATION_REPLACEREGEX = "replaceRegEx";
final String OPERATION_MATCHREGEX = "matchRegEx";
 
 
final static String PARAM_STRING = "string";
67,5 → 69,12
@WebParam(name = PARAM_REPLACE) String replace,
@WebParam(name = PARAM_FLAGS) String flags) throws XServicesFault;
@WebMethod(operationName=OPERATION_MATCHREGEX)
@WSDLDocumentation(value="Match text based data")
public abstract StringMatchType matchRegEx(
@WebParam(name = PARAM_STRING) String res,
@WebParam(name = PARAM_SEARCH) String search,
@WebParam(name = PARAM_FLAGS) String flags) throws XServicesFault;
}