summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-09-30 23:51:32 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-09-30 23:51:32 +0200
commit2e6e8c73eee2885b32c6d9713339472ed945c6a2 (patch)
tree7b46b68604d675ea2597ac9f8b40cd04133b69d6
parentc7be60af9f3efe0224a883b60acf9c4ca71d5212 (diff)
Remove Collection.URLInfo. Add Collection.Version, and add it to the
Collection ClusterStorage path.
-rw-r--r--src/main/java/com/c2kernel/collection/AggregationDescription.java1
-rw-r--r--src/main/java/com/c2kernel/collection/Collection.java25
-rw-r--r--src/main/java/com/c2kernel/persistency/ClusterStorage.java6
-rw-r--r--src/main/resources/mapFiles/CollectionMap.xml10
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<size(); i++)
{
diff --git a/src/main/java/com/c2kernel/collection/Collection.java b/src/main/java/com/c2kernel/collection/Collection.java
index 710420f..13642c3 100644
--- a/src/main/java/com/c2kernel/collection/Collection.java
+++ b/src/main/java/com/c2kernel/collection/Collection.java
@@ -20,7 +20,7 @@ abstract public class Collection<E extends CollectionMember> implements C2KLocal
protected CollectionMemberList<E> mMembers = new CollectionMemberList<E>();
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<E extends CollectionMember> 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<E> newMembers)
{
mMembers = newMembers;
@@ -130,7 +131,7 @@ abstract public class Collection<E extends CollectionMember> 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<E> 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">
<bind-xml auto-naming="deriveByClass" node="element"/>
</field>
- <field name="mURLInfo"
- type="string"
+ <field name="mVersion"
+ type="integer"
direct="false"
- get-method="getURLInfo"
- set-method="setURLInfo">
- <bind-xml name="URLInfo" node="attribute"/>
+ get-method="getVersion"
+ set-method="setVersion">
+ <bind-xml name="Version" node="attribute"/>
</field>
<field name="mName"
type="string"