package se.cambio.cds.util;
public class GeneratedElementInstanceCollection extends ElementInstanceCollection{
/*
public void add(ArchetypeReference archetypeReferenceToAdd){
Set<ArchetypeReference> archetypeReferences = getArchetypeReferences(archetypeReferenceToAdd);
if (archetypeReferences.isEmpty()){
archetypeReferences.add(archetypeReferenceToAdd);
}else{
if (ElementInstanceCollectionUtil.isEmpty(archetypeReferenceToAdd)){
ArchetypeReference ar = ElementInstanceCollectionUtil.getEmptyArchetypeReference(archetypeReferences);
if (ar!=null){
if (!ElementInstanceCollectionUtil.containsAll(ar, archetypeReferenceToAdd)){
for (String idElement : archetypeReferenceToAdd.getElementInstancesMap().keySet()) {
if (!ar.getElementInstancesMap().containsKey(idElement)){
ElementInstance elementInstance = archetypeReferenceToAdd.getElementInstancesMap().get(idElement);
elementInstance = elementInstance.clone();
elementInstance.setArchetypeReference(ar);
}
}
}else{
//Copy rule references if exist
for (String idElement : archetypeReferenceToAdd.getElementInstancesMap().keySet()) {
ElementInstance ei = ar.getElementInstancesMap().get(idElement);
ElementInstance eiToAdd = archetypeReferenceToAdd.getElementInstancesMap().get(idElement);
if (ei instanceof GeneratedElementInstance && eiToAdd instanceof GeneratedElementInstance){
((GeneratedElementInstance)ei).getRuleReferences().addAll(((GeneratedElementInstance)eiToAdd).getRuleReferences());
}
}
}
}else{
archetypeReferences.add(archetypeReferenceToAdd);
}
}else{
archetypeReferences.add(archetypeReferenceToAdd);
}
}
} */
}
/*
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 2.0/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 2.0 (the 'License'); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an 'AS IS' basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
*
* The Initial Developers of the Original Code are Iago Corbal and Rong Chen.
* Portions created by the Initial Developer are Copyright (C) 2012-2013
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Software distributed under the License is distributed on an 'AS IS' basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* ***** END LICENSE BLOCK *****
*/