package hudson.plugins.synergy.impl;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Get member status for a project purpose.
*/
public class GetMemberStatusCommand extends Command {
private String projectPurpose;
private String memberStatus;
public GetMemberStatusCommand(String projectPurpose) {
this.projectPurpose = projectPurpose;
}
@Override
public String[] buildCommand(String ccmExe) {
String[] commands = new String[] { ccmExe, "project_purpose", "-show", projectPurpose};
return commands;
}
@Override
public void parseResult(String result) {
try {
BufferedReader reader = new BufferedReader(new StringReader(result));
String line = reader.readLine();
int linecount = 0;
while (line!=null) {
linecount++;
line = line.trim();
if (line.length()!=0) {
if (linecount >= 2){
// Creates regexp to extract.
Pattern p = Pattern.compile("^.*\\S*\\s+(\\w+)\\s+\\w+\\s*$");
// Look for updates.
Matcher m = p.matcher(line);
memberStatus = m.find() ? m.group(1) : null;
if (memberStatus != null){
break;
}
}
}
line = reader.readLine();
}
} catch (IOException e) {
// Should not happen with a StringReader.
}
}
public String getMemberStatus() {
return memberStatus;
}
}