package betsy.bpel.model; public class BPELIdShortener { public static final int SHORT_ENOUGH_ID_LENGTH = 8; private final String name; public BPELIdShortener(String name) { this.name = name; } public String getShortenedId() { // already short names are OK as they are if (name.length() < SHORT_ENOUGH_ID_LENGTH) { return name; } // abbreviate common names String name = this.name.replaceAll("Receive", "REC"); name = name.replaceAll("Rec", "REC"); name = name.replaceAll("Request", "REQ"); name = name.replaceAll("Req", "REQ"); name = name.replaceAll("Reply", "REP"); name = name.replaceAll("Invoke", "INV"); name = name.replaceAll("Stop", "STP"); name = name.replaceAll("ForEach", "FE"); name = name.replaceAll("For", "FOR"); return name.replaceAll("[a-z]", ""); } }