From b086f57f56bf0eb9dab9cf321a0f69aaaae84347 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 30 May 2012 08:37:45 +0200 Subject: Initial Maven Conversion --- .../java/com/c2kernel/collection/Dependency.java | 117 +++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 src/main/java/com/c2kernel/collection/Dependency.java (limited to 'src/main/java/com/c2kernel/collection/Dependency.java') diff --git a/src/main/java/com/c2kernel/collection/Dependency.java b/src/main/java/com/c2kernel/collection/Dependency.java new file mode 100644 index 0000000..cbbf28c --- /dev/null +++ b/src/main/java/com/c2kernel/collection/Dependency.java @@ -0,0 +1,117 @@ +package com.c2kernel.collection; + + +import com.c2kernel.utils.CastorHashMap; +import com.c2kernel.utils.KeyValuePair; +import com.c2kernel.utils.Logger; + +/* +Dependency Object +Objectified link representing dependency between items. +e.g.: Used for ProductDesc::Item-dependency-dependencymember-WfDesc::Item +*/ + +/** + * @version $Revision: 1.15 $ $Date: 2005/04/07 08:03:21 $ + * @author $Author: abranson $ + */ +public class Dependency extends Parent2ChildCollection +{ + + protected CastorHashMap mProperties = new CastorHashMap(); + protected String mClassProps = ""; + + public Dependency() + { + setName("Dependency"); + } + + public Dependency(String name) + { + setName(name); + } + + public CastorHashMap getProperties() { + return mProperties; + } + + public void setProperties(CastorHashMap props) { + mProperties = props; + } + + public KeyValuePair[] getKeyValuePairs() + { + return mProperties.getKeyValuePairs(); + } + public void setKeyValuePairs(KeyValuePair[] pairs) + { + mProperties.setKeyValuePairs(pairs); + } + + public void setClassProps(String classProps) { + this.mClassProps = classProps; + } + + public String getClassProps() { + return mClassProps; + } + + @Override + public DependencyMember addMember(int entityKey) throws MembershipException { + // create member object + DependencyMember depMember = new DependencyMember(); + depMember.setID(getCounter()); + depMember.setProperties(mProperties); + depMember.setClassProps(mClassProps); + + // assign entity + depMember.assignEntity(entityKey); + mMembers.list.add(depMember); + Logger.msg(8, "Dependency::addMember(" + entityKey + ") added to children."); + return depMember; + } + + @Override + public DependencyMember addMember(int entityKey, CastorHashMap props, String classProps) + throws MembershipException + { + if (classProps != null && !classProps.equals(mClassProps)) + throw new MembershipException("Cannot change classProps in dependency member"); + DependencyMember depMember = new DependencyMember(); + depMember.setID(getCounter()); + + // merge props + CastorHashMap newProps = new CastorHashMap(); + for (Object name : props.keySet()) { + String key = (String)name; + newProps.put(key, props.get(key)); + + } + // class props override local + for (Object name : mProperties.keySet()) { + String key = (String)name; + newProps.put(key, mProperties.get(key)); + + } + depMember.setProperties(newProps); + depMember.setClassProps(mClassProps); + + // assign entity + depMember.assignEntity(entityKey); + mMembers.list.add(depMember); + Logger.msg(8, "Dependency::addMember(" + entityKey + ") added to children."); + return depMember; + } + + @Override + public void removeMember(int memberId) throws MembershipException { + for (DependencyMember element : mMembers.list) { + if (element.getID() == memberId) { + mMembers.list.remove(element); + return; + } + } + throw new MembershipException("Member "+memberId+" not found"); + } + +} -- cgit v1.2.3