@Override
    public void startElement(ELEMENT element, Attributes attributes) throws SAXException {

      if (element.equals(SpecVersionHandler.EL)) {
        MutableUDAVersion udaVersion = new MutableUDAVersion();
        getInstance().udaVersion = udaVersion;
        new SpecVersionHandler(udaVersion, this);
      }

      if (element.equals(DeviceHandler.EL)) {
        new DeviceHandler(getInstance(), this);
      }
    }
 @Override
 public void endElement(String uri, String localName, String qName) throws SAXException {
   super.endElement(uri, localName, qName);
   ELEMENT el = ELEMENT.valueOrNullOf(localName);
   if (el == null) return;
   endElement(el);
 }
 @Override
 public void startElement(String uri, String localName, String qName, Attributes attributes)
     throws SAXException {
   super.startElement(uri, localName, qName, attributes);
   ELEMENT el = ELEMENT.valueOrNullOf(localName);
   if (el == null) return;
   startElement(el, attributes);
 }
 @Override
 public void startElement(ELEMENT element, Attributes attributes) throws SAXException {
   if (element.equals(DeviceHandler.EL)) {
     MutableDevice device = new MutableDevice();
     getInstance().add(device);
     new DeviceHandler(device, this);
   }
 }
 @Override
 public void startElement(ELEMENT element, Attributes attributes) throws SAXException {
   if (element.equals(IconHandler.EL)) {
     MutableIcon icon = new MutableIcon();
     getInstance().add(icon);
     new IconHandler(icon, this);
   }
 }
    @Override
    public void startElement(ELEMENT element, Attributes attributes) throws SAXException {

      if (element.equals(IconListHandler.EL)) {
        List<MutableIcon> icons = new ArrayList();
        getInstance().icons = icons;
        new IconListHandler(icons, this);
      }

      if (element.equals(ServiceListHandler.EL)) {
        List<MutableService> services = new ArrayList();
        getInstance().services = services;
        new ServiceListHandler(services, this);
      }

      if (element.equals(DeviceListHandler.EL)) {
        List<MutableDevice> devices = new ArrayList();
        getInstance().embeddedDevices = devices;
        new DeviceListHandler(devices, this);
      }
    }
Exemplo n.º 7
0
 // -----------------------------------------------------
 //                                               Advance
 //                                               -------
 public static <ELEMENT> OrderDiff<ELEMENT> analyzeOrderDiff(
     List<ELEMENT> beforeUniqueList, List<ELEMENT> afterUniqueList) {
   final LinkedHashSet<ELEMENT> linkedBeforeSet = newLinkedHashSet(beforeUniqueList);
   if (beforeUniqueList.size() != linkedBeforeSet.size()) {
     String msg = "The argument 'beforeList' should be unique: " + beforeUniqueList;
     throw new IllegalArgumentException(msg);
   }
   final LinkedHashSet<ELEMENT> linkedAfterSet = newLinkedHashSet(afterUniqueList);
   if (afterUniqueList.size() != linkedAfterSet.size()) {
     String msg = "The argument 'afterList' should be unique: " + afterUniqueList;
     throw new IllegalArgumentException(msg);
   }
   final ElementDiff<ELEMENT> elementDiff = analyzeElementDiff(linkedBeforeSet, linkedAfterSet);
   final Set<ELEMENT> addedSet = elementDiff.getAddedSet();
   final Set<ELEMENT> deletedSet = elementDiff.getDeletedSet();
   final List<ELEMENT> beforeRemainingList = newArrayList(beforeUniqueList);
   beforeRemainingList.removeAll(deletedSet);
   final List<ELEMENT> afterRemainingList = newArrayList(afterUniqueList);
   afterRemainingList.removeAll(addedSet);
   if (beforeRemainingList.size() != afterRemainingList.size()) {
     String msg = "The beforeRemainingList.size() should be the same as the afterRemainingList's:";
     msg = msg + " beforeRemainingList.size()=" + beforeRemainingList.size();
     msg = msg + " afterRemainingList.size()=" + afterRemainingList.size();
     throw new IllegalStateException(msg);
   }
   final Map<ELEMENT, OrderDiffDetail<ELEMENT>> movedMap = newLinkedHashMap();
   doAnalyzeOrderChange(beforeRemainingList, afterRemainingList, movedMap);
   for (Entry<ELEMENT, OrderDiffDetail<ELEMENT>> entry : movedMap.entrySet()) {
     final ELEMENT movedElement = entry.getKey();
     final ELEMENT previousElement = entry.getValue().getPreviousElement();
     final int movedIndex = afterUniqueList.indexOf(movedElement);
     final ELEMENT realPrevious = afterUniqueList.get(movedIndex - 1);
     if (!previousElement.equals(realPrevious)) {
       entry.getValue().setPreviousElement(realPrevious);
     }
   }
   final OrderDiff<ELEMENT> orderDiff = new OrderDiff<ELEMENT>();
   orderDiff.setMovedMap(movedMap);
   return orderDiff;
 }
 public void testCreateElement() throws Exception {
   ELEMENT element = ELEMENT.Factory.newInstance();
   element.setName(dvText("name"));
   element.setValue(dvQuantity(6.1, "mmol/l"));
 }
 private ELEMENT element(String name, double value, String units) {
   ELEMENT element = ELEMENT.Factory.newInstance();
   element.setName(dvText(name));
   element.setValue(dvQuantity(value, units));
   return element;
 }
 @Override
 protected boolean isLastElement(String uri, String localName, String qName) {
   ELEMENT el = ELEMENT.valueOrNullOf(localName);
   return el != null && isLastElement(el);
 }
 @Override
 public boolean isLastElement(ELEMENT element) {
   return element.equals(EL);
 }