@SuppressWarnings("unchecked") public Object start(final String uri, final String localName, final Attributes attrs, final ExtensibleXmlParser parser) throws SAXException { parser.startElementBuilder(localName, attrs); // according to the (Semantic.)xsd, both the name and structureRef are optional String id = attrs.getValue("id"); String name = attrs.getValue("name"); // referred to by the signalEventDefinition.signalRef attr String structureRef = attrs.getValue("structureRef"); ProcessBuildData buildData = (ProcessBuildData) parser.getData(); Map<String, Signal> signals = (Map<String, Signal>) buildData.getMetaData("Signals"); if (signals == null) { signals = new HashMap<String, Signal>(); buildData.setMetaData("Signals", signals); } Signal s = new Signal(id, name, structureRef); signals.put(id, s); return s; }
protected String checkSignalAndConvertToRealSignalNam(ExtensibleXmlParser parser, String signalName) { ProcessBuildData buildData = ((ProcessBuildData) parser.getData()); Set<String> signalNames = (Set<String>) buildData.getMetaData(SIGNAL_NAMES); if( signalNames == null ) { signalNames = new HashSet<>(); buildData.setMetaData(SIGNAL_NAMES, signalNames); } signalNames.add(signalName); Map<String, Signal> signals = (Map<String, Signal>) buildData.getMetaData("Signals"); if (signals != null ) { if( signals.containsKey(signalName)) { Signal signal = signals.get(signalName); signalName = signal.getName(); if (signalName == null) { throw new IllegalArgumentException("Signal definition must have a name attribute"); } } } return signalName; } }
@SuppressWarnings("unchecked") public Object start(final String uri, final String localName, final Attributes attrs, final ExtensibleXmlParser parser) throws SAXException { parser.startElementBuilder(localName, attrs); // according to the (Semantic.)xsd, both the name and structureRef are optional String id = attrs.getValue("id"); String name = attrs.getValue("name"); // referred to by the signalEventDefinition.signalRef attr String structureRef = attrs.getValue("structureRef"); ProcessBuildData buildData = (ProcessBuildData) parser.getData(); Map<String, Signal> signals = (Map<String, Signal>) buildData.getMetaData("Signals"); if (signals == null) { signals = new HashMap<String, Signal>(); buildData.setMetaData("Signals", signals); } Signal s = new Signal(id, name, structureRef); signals.put(id, s); return s; }
protected String checkSignalAndConvertToRealSignalNam(ExtensibleXmlParser parser, String signalName) { ProcessBuildData buildData = ((ProcessBuildData) parser.getData()); Set<String> signalNames = (Set<String>) buildData.getMetaData(SIGNAL_NAMES); if( signalNames == null ) { signalNames = new HashSet<>(); buildData.setMetaData(SIGNAL_NAMES, signalNames); } signalNames.add(signalName); Map<String, Signal> signals = (Map<String, Signal>) buildData.getMetaData("Signals"); if (signals != null ) { if( signals.containsKey(signalName)) { Signal signal = signals.get(signalName); signalName = signal.getName(); if (signalName == null) { throw new IllegalArgumentException("Signal definition must have a name attribute"); } } } return signalName; } }