/** * Return the next logical versionTreeId * i.e. next logical versionTreeId for 1.2.1 is 1.2.2 */ public VersionTreeID next() { if (isBranch()) { String newBranchVersion = Integer.toString(Integer.valueOf(branchVersion) + 1); return new VersionTreeID(trunkVersion + "." + branchNumber + "." + newBranchVersion); } else { return new VersionTreeID(Integer.toString(Integer.valueOf(trunkVersion) + 1)); } }
void setValue(String value) { this.value = value; loadValue(value); }
private void addVersion(Version<T> version) { if (!version.getUid().versionTreeID().isBranch()) { int trunkNo = Integer.parseInt(version.getUid().versionTreeID().trunkVersion()); if (trunkNo != trunkCounter + 1) { throw new IllegalArgumentException("invlalid trunk no in uid"); } else { trunkCounter++; latestTrunkUid = version.getUid(); } } timeVersionMap.put(version.getCommitAudit().getTimeCommitted(), version); idVersionMap.put(version.getUid(), version); }
/** * True if this version is the first copy in a version tree * i.e. versionTreeId is 1. */ public boolean isFirst() { return trunkVersion.equals("1") && !isBranch(); }
/** * Contruct VersionTreeID by value of trunkVersion, branchNumber * and branchVersion. All valid integers must be >= 1. * Special case branchNumber == 0 && branchVersion == 0 indicates no branch. * * @param trunkVersion * @param branchVersion * @param branchNumber * @throws IllegalArgumentException */ public VersionTreeID(int trunkVersion, int branchNumber, int branchVersion) { validateValues(trunkVersion, branchNumber, branchVersion); String trunk = Integer.toString(trunkVersion); this.trunkVersion = trunk; if(branchNumber > 0 ) { this.value = trunk + "." + Integer.toString(branchNumber) + "." + Integer.toString(branchVersion); this.branchNumber = Integer.toString(branchNumber); this.branchVersion = Integer.toString(branchVersion); } else { this.value = trunk; } }
public ObjectVersionID(UID objectID, HierObjectID creatingSystemID, VersionTreeID versionTreeID) { this(objectID.toString() + "::" + creatingSystemID.toString() + "::" + versionTreeID.toString()); this.objectID = objectID; this.creatingSystemID = creatingSystemID; this.versionTreeID = versionTreeID; }
@Override public String extension() { return creatingSystemID.getValue() + "::" + versionTreeID.getValue(); }
throw new IllegalArgumentException("null contribution"); if (uid.versionTreeID().isFirst() == (precedingVersionID != null)) { throw new IllegalArgumentException("breach of precedingVersionUid validity");
versionTreeID = new VersionTreeID(splits[3]); } else { creatingSystemID = new HierObjectID (splits[1]); versionTreeID = new VersionTreeID(splits[2]);
private void addVersion(Version<T> version) { if (!version.getUid().versionTreeID().isBranch()) { int trunkNo = Integer.parseInt(version.getUid().versionTreeID().trunkVersion()); if (trunkNo != trunkCounter + 1) { throw new IllegalArgumentException("invlalid trunk no in uid"); } else { trunkCounter++; latestTrunkUid = version.getUid(); } } timeVersionMap.put(version.getCommitAudit().getTimeCommitted(), version); idVersionMap.put(version.getUid(), version); }
/** * True if this version is the first copy in a version tree * i.e. versionTreeId is 1. */ public boolean isFirst() { return trunkVersion.equals("1") && !isBranch(); }
private void loadValue(String value) { if (!value.matches(PATTERN)) { throw new IllegalArgumentException("wrong format"); } int branch = value.indexOf("."); if (branch < 0) { // no branch, just trunk //validateValues(Integer.parseInt(value), 0, 0); this.trunkVersion = value; this.value = value; } else { String[] entries = value.split("\\."); //System.out.println("in loadValues, size of entries:" + entries.length); validateValues(Integer.parseInt(entries[0]), Integer.parseInt(entries[1]), Integer.parseInt(entries[2])); this.trunkVersion = entries[0]; //never set branchNo or branchV to 0 if(Integer.parseInt(entries[1]) > 0) { this.branchNumber = entries[1]; this.branchVersion = entries[2]; this.value = value; } else { this.value = entries[0]; } } }
public ObjectVersionID(UID objectID, HierObjectID creatingSystemID, VersionTreeID versionTreeID) { this(objectID.toString() + "::" + creatingSystemID.toString() + "::" + versionTreeID.toString()); this.objectID = objectID; this.creatingSystemID = creatingSystemID; this.versionTreeID = versionTreeID; }
@Override public String extension() { return creatingSystemID.getValue() + "::" + versionTreeID.getValue(); }
throw new IllegalArgumentException("null contribution"); if (uid.versionTreeID().isFirst() == (precedingVersionID != null)) { throw new IllegalArgumentException("breach of precedingVersionUid validity");
versionTreeID = new VersionTreeID(splits[3]); } else { creatingSystemID = new HierObjectID (splits[1]); versionTreeID = new VersionTreeID(splits[2]);
/** * Return the next logical versionTreeId * i.e. next logical versionTreeId for 1.2.1 is 1.2.2 */ public VersionTreeID next() { if (isBranch()) { String newBranchVersion = Integer.toString(Integer.valueOf(branchVersion) + 1); return new VersionTreeID(trunkVersion + "." + branchNumber + "." + newBranchVersion); } else { return new VersionTreeID(Integer.toString(Integer.valueOf(trunkVersion) + 1)); } }
/** * True if this Version represents a branch */ public boolean isBranch() { return uid.versionTreeID().isBranch(); }
void setValue(String value) { this.value = value; loadValue(value); }
/** * Contruct VersionTreeID by value of trunkVersion, branchNumber * and branchVersion. All valid integers must be >= 1. * Special case branchNumber == 0 && branchVersion == 0 indicates no branch. * * @param trunkVersion * @param branchVersion * @param branchNumber * @throws IllegalArgumentException */ public VersionTreeID(int trunkVersion, int branchNumber, int branchVersion) { validateValues(trunkVersion, branchNumber, branchVersion); String trunk = Integer.toString(trunkVersion); this.trunkVersion = trunk; if(branchNumber > 0 ) { this.value = trunk + "." + Integer.toString(branchNumber) + "." + Integer.toString(branchVersion); this.branchNumber = Integer.toString(branchNumber); this.branchVersion = Integer.toString(branchVersion); } else { this.value = trunk; } }