@Override @Transactional(value="cacheTransactionManager") public List<ProcessChange> doCreateSubEquipment(final ConfigurationElement element) throws IllegalAccessException {
  SubEquipment subEquipment=super.createAbstractEquipment(element);
  subEquipmentFacade.addSubEquipmentToEquipment(subEquipment.getId(),subEquipment.getParentId());
  SubEquipmentUnitAdd subEquipmentUnitAdd=new SubEquipmentUnitAdd(element.getSequenceId(),subEquipment.getId(),subEquipment.getParentId(),processXMLProvider.getSubEquipmentConfigXML((SubEquipmentCacheObject)subEquipment));
  List<ProcessChange> changes=new ArrayList<ProcessChange>();
  changes.add(new ProcessChange(subEquipmentFacade.getProcessIdForAbstractEquipment(subEquipment.getId()),subEquipmentUnitAdd));
  changes.addAll(updateControlTagInformation(element,subEquipment));
  return changes;
}

@ Override @ Transactional ( value = "cacheTransactionManager" ) public List < ProcessChange > doCreateSubEquipment ( final ConfigurationElement element ) throws IllegalAccessException { SubEquipment subEquipment = super . createAbstractEquipment ( element ) ; subEquipmentFacade . addSubEquipmentToEquipment ( subEquipment . getId ( ) , subEquipment . getParentId ( ) ) ; SubEquipmentUnitAdd subEquipmentUnitAdd = new SubEquipmentUnitAdd ( element . getSequenceId ( ) , subEquipment . getId ( ) , subEquipment . getParentId ( ) , processXMLProvider . getSubEquipmentConfigXML ( ( SubEquipmentCacheObject ) subEquipment ) ) ; List < ProcessChange > changes = new ArrayList < ProcessChange > ( ) ; changes . add ( new ProcessChange ( subEquipmentFacade . getProcessIdForAbstractEquipment ( subEquipment . getId ( ) ) , subEquipmentUnitAdd ) ) ; changes . addAll ( updateControlTagInformation ( element , subEquipment ) ) ; return changes ; }
creates the subequipment cache object and puts it into the cache and db . the alive and commfault tag caches are updated also . the equipment cache object is updated to include the new subequipment .
