summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/property/PropertyUtility.java
diff options
context:
space:
mode:
Diffstat (limited to 'source/com/c2kernel/property/PropertyUtility.java')
-rwxr-xr-xsource/com/c2kernel/property/PropertyUtility.java87
1 files changed, 87 insertions, 0 deletions
diff --git a/source/com/c2kernel/property/PropertyUtility.java b/source/com/c2kernel/property/PropertyUtility.java
new file mode 100755
index 0000000..9c65598
--- /dev/null
+++ b/source/com/c2kernel/property/PropertyUtility.java
@@ -0,0 +1,87 @@
+/**************************************************************************
+ *
+ * $Revision: 1.4 $
+ * $Date: 2004/10/21 08:02:26 $
+ *
+ * Copyright (C) 2001 CERN - European Organization for Nuclear Research
+ * All rights reserved.
+ **************************************************************************/
+
+package com.c2kernel.property;
+
+import java.util.ArrayList;
+
+import com.c2kernel.persistency.ClusterStorage;
+import com.c2kernel.persistency.outcome.Outcome;
+import com.c2kernel.process.Gateway;
+import com.c2kernel.utils.CastorHashMap;
+import com.c2kernel.utils.CastorXMLUtility;
+import com.c2kernel.utils.Logger;
+
+
+public class PropertyUtility
+{
+ static public String getValue(ArrayList pdlist, String name)
+ {
+ Object[] values = pdlist.toArray();
+ for (int i=0;i<values.length;i++)
+ {
+ PropertyDescription pd = (PropertyDescription) values[i];
+ if ( name.equalsIgnoreCase(pd.getName()) )
+ return pd.getDefaultValue();
+ }
+ return null;
+ }
+
+ static public String getNames(ArrayList pdlist)
+ {
+ Object[] values = pdlist.toArray();
+ StringBuffer names = new StringBuffer();
+ for (int i=0;i<values.length;i++)
+ names.append( ((PropertyDescription)values[i]).getDefaultValue()).append(" ");
+ return names.toString();
+ }
+
+ static public String getClassIdNames(ArrayList pdlist)
+ {
+ Object[] values = pdlist.toArray();
+ StringBuffer names = new StringBuffer();
+ for (int i=0;i<values.length;i++)
+ {
+ PropertyDescription pd = ((PropertyDescription)values[i]);
+ if (pd.getIsClassIdentifier())
+ names.append(pd.getName());
+ if (i<values.length-1 && i!=0)
+ names.append(",");
+ }
+ return names.toString();
+ }
+
+
+ static public PropertyDescriptionList getPropertyDescriptionOutcome(int entityKey)
+ {
+ try
+ {
+ Outcome outc = (Outcome) Gateway.getStorage().get(entityKey, ClusterStorage.VIEWPOINT+"/PropertyDescription/last/data", null);
+ return (PropertyDescriptionList)CastorXMLUtility.unmarshall(outc.getData());
+ }
+ catch (Exception ex)
+ {
+ Logger.error(ex);
+ return null;
+ }
+ }
+
+ static public CastorHashMap createProperty(PropertyDescriptionList pdList)
+ {
+ CastorHashMap props = new CastorHashMap();
+ for (int i=0; i< pdList.list.size();i++)
+ {
+ PropertyDescription pd = (PropertyDescription) pdList.list.get(i);
+ if (pd.getIsClassIdentifier())
+ props.put(pd.getName(),pd.getDefaultValue());
+ }
+ return props;
+ }
+
+}