Fix name of incoming profile from NS with timeshift/percentage.
This commit is contained in:
parent
c177c2f620
commit
e4a72c8175
|
@ -103,14 +103,11 @@ public class ProfileSwitch implements Interval, DataPointWithLabelInterface {
|
|||
if(LocalProfilePlugin.LOCAL_PROFILE.equals(name)){
|
||||
name = DecimalFormatter.to2Decimal(getProfileObject().percentageBasalSum()) + "U ";
|
||||
}
|
||||
//Test if name is already containing percentage or timeshift
|
||||
if (!name.endsWith("h)") || !name.endsWith("%)")) {
|
||||
if (isCPP) {
|
||||
name += "(" + percentage + "%";
|
||||
if (timeshift != 0)
|
||||
name += "," + timeshift + "h";
|
||||
name += ")";
|
||||
}
|
||||
if (isCPP) {
|
||||
name += "(" + percentage + "%";
|
||||
if (timeshift != 0)
|
||||
name += "," + timeshift + "h";
|
||||
name += ")";
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
|
|
@ -8,14 +8,23 @@ import java.util.regex.Pattern;
|
|||
*/
|
||||
|
||||
public class PercentageSplitter {
|
||||
// "Profile name (200%,2h)"
|
||||
private static final Pattern percentagePattern = Pattern.compile("(.+)\\(\\d+%,\\d+h\\)");
|
||||
// "Profile name (200%)"
|
||||
private static final Pattern percentageShiftPattern = Pattern.compile("(.+)\\(\\d+%\\)");
|
||||
|
||||
/** Removes the suffix for percentage and timeshift from a profile name. */
|
||||
public static String pureName(String name) {
|
||||
String newName = name;
|
||||
String s = "(.*)\\((\\d+)\\%\\)";
|
||||
Pattern r = Pattern.compile(s);
|
||||
Matcher m = r.matcher(name);
|
||||
if (m.find()) {
|
||||
newName = m.group(1);
|
||||
Matcher percentageMatch = percentagePattern.matcher(name);
|
||||
if (percentageMatch.find()) {
|
||||
return percentageMatch.group(1).trim();
|
||||
}
|
||||
return newName;
|
||||
|
||||
Matcher percentageShiftMatch = percentageShiftPattern.matcher(name);
|
||||
if (percentageShiftMatch.find()) {
|
||||
return percentageShiftMatch.group(1).trim();
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,12 @@ public class PercentageSplitterTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void pureNameTest() throws Exception {
|
||||
public void pureNameTestPercentageOnly() {
|
||||
assertEquals("Fiasp", PercentageSplitter.pureName("Fiasp(101%)"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void pureNameTestPercentageAndShift() {
|
||||
assertEquals("Fiasp", PercentageSplitter.pureName("Fiasp (101%,2h)"));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue