From 2e6e8c73eee2885b32c6d9713339472ed945c6a2 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 30 Sep 2014 23:51:32 +0200 Subject: Remove Collection.URLInfo. Add Collection.Version, and add it to the Collection ClusterStorage path. --- .../collection/AggregationDescription.java | 1 - .../java/com/c2kernel/collection/Collection.java | 25 +++++++++++----------- .../com/c2kernel/persistency/ClusterStorage.java | 6 +++++- src/main/resources/mapFiles/CollectionMap.xml | 10 ++++----- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/c2kernel/collection/AggregationDescription.java b/src/main/java/com/c2kernel/collection/AggregationDescription.java index 475ef53..132a357 100644 --- a/src/main/java/com/c2kernel/collection/AggregationDescription.java +++ b/src/main/java/com/c2kernel/collection/AggregationDescription.java @@ -29,7 +29,6 @@ public class AggregationDescription extends Aggregation implements CollectionDes public Aggregation newInstance() throws ObjectNotFoundException { AggregationInstance newInstance = new AggregationInstance(getName()); - newInstance.setURLInfo(getURLInfo()); //for each desc member for (int i=0; i implements C2KLocal protected CollectionMemberList mMembers = new CollectionMemberList(); protected int mID = -1; protected String mName = ""; // Not checked for uniqueness - protected String mURLInfo = ""; + protected Integer mVersion = null; public int getCounter() { @@ -60,28 +60,29 @@ abstract public class Collection implements C2KLocal mName = name; } - public void setURLInfo(String urlInfo) - { - mURLInfo = urlInfo; - } - @Override public String getName() { return mName; } + + public Integer getVersion() { + return mVersion; + } + public void setVersion(Integer mVersion) { + this.mVersion = mVersion; + } + + public String getVersionName() { + return mVersion==null?"last":String.valueOf(mVersion); + } @Override public String getClusterType() { return ClusterStorage.COLLECTION; } - public String getURLInfo() - { - return mURLInfo; - } - public void setMembers(CollectionMemberList newMembers) { mMembers = newMembers; @@ -130,7 +131,7 @@ abstract public class Collection implements C2KLocal public boolean equals(Object other) { if (!(other instanceof Collection)) return false; Collection otherColl = (Collection)other; - boolean same = mName.equals(otherColl.getName()) && mURLInfo.equals(otherColl.getURLInfo()) && size() == otherColl.size(); + boolean same = mName.equals(otherColl.getName()) && size() == otherColl.size(); if (!same) return false; for (Iterator i = getMembers().list.iterator(); i.hasNext();) { try { diff --git a/src/main/java/com/c2kernel/persistency/ClusterStorage.java b/src/main/java/com/c2kernel/persistency/ClusterStorage.java index 049b69a..3026fdb 100644 --- a/src/main/java/com/c2kernel/persistency/ClusterStorage.java +++ b/src/main/java/com/c2kernel/persistency/ClusterStorage.java @@ -1,5 +1,6 @@ package com.c2kernel.persistency; +import com.c2kernel.collection.Collection; import com.c2kernel.common.SystemKey; import com.c2kernel.entity.C2KLocalObject; import com.c2kernel.lookup.ItemPath; @@ -201,7 +202,10 @@ public abstract class ClusterStorage { } else if (obj instanceof Viewpoint) { Viewpoint vp = (Viewpoint) obj; return root + "/" + vp.getSchemaName() + "/" + vp.getName(); - } else + } else if (obj instanceof Collection) { + Collection coll = (Collection) obj; + return root + "/" + coll.getName() + "/" +coll.getVersionName(); + } return root + "/" + obj.getName(); } diff --git a/src/main/resources/mapFiles/CollectionMap.xml b/src/main/resources/mapFiles/CollectionMap.xml index a59de67..2d01470 100644 --- a/src/main/resources/mapFiles/CollectionMap.xml +++ b/src/main/resources/mapFiles/CollectionMap.xml @@ -62,12 +62,12 @@ set-method="setMembers"> - - + get-method="getVersion" + set-method="setVersion"> +