plugin/src/java/org/pm4knime/node/conformance/performance/PerformanceCheckerNodeDialog.java
@Override
	public void loadAdditionalSettingsFrom(final NodeSettingsRO settings, final PortObjectSpec[] specs)
			throws NotConfigurableException {

		if (!(specs[0] instanceof RepResultPortObjectSpec))
			throw new NotConfigurableException("Input is not a valid replayer log!");

		RepResultPortObjectSpec repResultPOSpec = (RepResultPortObjectSpec) specs[0];

		// if we have the classifier set from the parameter, we can't figure out the key
		// for time stamp.
		// to solve it, two ways: 1. follow the old method
		// 2. save the class name information for event classifiers too.
		// to save the space, we can concatenate the class name and its value together,
		// we we use it, we split the name and class name. we can judge the class, only according its attribute name
		// so that means, if we want to set the map to str... 
		// we depend on the SpecObject to provide us the right value but now it doesn't 
		
		// we will expect we have the spec totally loaded here!! 
		SMAlignmentReplayParameter specParameter = repResultPOSpec.getMParameter();

		List<String> tsAttrNameList = new ArrayList<String>();
		if(specParameter.getClassifierSet() != null) {
			for (String clfPlusClass : specParameter.getClassifierSet().getStringArrayValue()) {
				String[] clfPlusClassArray = clfPlusClass.split(XLogSpecUtil.CFG_KEY_CLASSIFIER_SEPARATOR);
				if (clfPlusClassArray[1].equals(XAttributeTimestampImpl.class.toString()))
					
					tsAttrNameList.add(clfPlusClassArray[0]);
			}
		}
		if(tsAttrNameList.isEmpty())
			throw new NotConfigurableException("No time stamp is given!");
		
		if (!tsAttrNameList.contains(m_parameter.getMTimeStamp().getStringValue())) {
			m_timestampComp.replaceListItems(tsAttrNameList, tsAttrNameList.get(0));
			m_parameter.getMTimeStamp().setStringValue(tsAttrNameList.get(0));
			m_parameter.setClassifierSet(specParameter.getClassifierSet().getStringArrayValue());
		}

	}
/**
	 * to get the attributes from event log, especially the time stamp information.
	 * we need PortObject.
	 * 
	 */
to get the attributes from event log, especially the time stamp information.
to get the attributes from event log especially the time stamp information .
@Override
	public void loadAdditionalSettingsFrom(final NodeSettingsRO settings, final PortObjectSpec[] specs)
			throws NotConfigurableException {
		if (!(specs[0] instanceof RepResultPortObjectSpec))
			throw new NotConfigurableException("Input is not a valid replayer log!");
		RepResultPortObjectSpec repResultPOSpec = (RepResultPortObjectSpec) specs[0];
		SMAlignmentReplayParameter specParameter = repResultPOSpec.getMParameter();
		List<String> tsAttrNameList = new ArrayList<String>();
		if(specParameter.getClassifierSet() != null) {
			for (String clfPlusClass : specParameter.getClassifierSet().getStringArrayValue()) {
				String[] clfPlusClassArray = clfPlusClass.split(XLogSpecUtil.CFG_KEY_CLASSIFIER_SEPARATOR);
				if (clfPlusClassArray[1].equals(XAttributeTimestampImpl.class.toString()))
					tsAttrNameList.add(clfPlusClassArray[0]);
			}
		}
		if(tsAttrNameList.isEmpty())
			throw new NotConfigurableException("No time stamp is given!");
		if (!tsAttrNameList.contains(m_parameter.getMTimeStamp().getStringValue())) {
			m_timestampComp.replaceListItems(tsAttrNameList, tsAttrNameList.get(0));
			m_parameter.getMTimeStamp().setStringValue(tsAttrNameList.get(0));
			m_parameter.setClassifierSet(specParameter.getClassifierSet().getStringArrayValue());
		}
	}
@ Override public void loadAdditionalSettingsFrom ( final NodeSettingsRO settings , final PortObjectSpec [ ] specs ) throws NotConfigurableException { if ( ! ( specs [ 0 ] instanceof RepResultPortObjectSpec ) ) throw new NotConfigurableException ( "Input is not a valid replayer log!" ) ; RepResultPortObjectSpec repResultPOSpec = ( RepResultPortObjectSpec ) specs [ 0 ] ; SMAlignmentReplayParameter specParameter = repResultPOSpec . getMParameter ( ) ; List < String > tsAttrNameList = new ArrayList < String > ( ) ; if ( specParameter . getClassifierSet ( ) != null ) { for ( String clfPlusClass : specParameter . getClassifierSet ( ) . getStringArrayValue ( ) ) { String [ ] clfPlusClassArray = clfPlusClass . split ( XLogSpecUtil . CFG_KEY_CLASSIFIER_SEPARATOR ) ; if ( clfPlusClassArray [ 1 ] . equals ( XAttributeTimestampImpl . class . toString ( ) ) ) tsAttrNameList . add ( clfPlusClassArray [ 0 ] ) ; } } if ( tsAttrNameList . isEmpty ( ) ) throw new NotConfigurableException ( "No time stamp is given!" ) ; if ( ! tsAttrNameList . contains ( m_parameter . getMTimeStamp ( ) . getStringValue ( ) ) ) { m_timestampComp . replaceListItems ( tsAttrNameList , tsAttrNameList . get ( 0 ) ) ; m_parameter . getMTimeStamp ( ) . setStringValue ( tsAttrNameList . get ( 0 ) ) ; m_parameter . setClassifierSet ( specParameter . getClassifierSet ( ) . getStringArrayValue ( ) ) ; } }
to get the attributes from event log, especially the time stamp information.
to get the attributes from event log especially the time stamp information .
// if we have the classifier set from the parameter, we can't figure out the key // for time stamp. // to solve it, two ways: 1. follow the old method // 2. save the class name information for event classifiers too. // to save the space, we can concatenate the class name and its value together, // we we use it, we split the name and class name. we can judge the class, only according its attribute name // so that means, if we want to set the map to str...  // we depend on the SpecObject to provide us the right value but now it doesn't  // we will expect we have the spec totally loaded here!! 