package com.esri.geoevent.solutions.processor.trackidle; import java.util.ArrayList; import java.util.List; import com.esri.ges.core.geoevent.DefaultFieldDefinition; import com.esri.ges.core.geoevent.DefaultGeoEventDefinition; import com.esri.ges.core.geoevent.FieldDefinition; import com.esri.ges.core.geoevent.FieldType; import com.esri.ges.core.geoevent.GeoEventDefinition; import com.esri.ges.core.property.LabeledValue; import com.esri.ges.core.property.PropertyDefinition; import com.esri.ges.core.property.PropertyType; import com.esri.ges.framework.i18n.BundleLogger; import com.esri.ges.framework.i18n.BundleLoggerFactory; import com.esri.ges.processor.GeoEventProcessorDefinitionBase; public class TrackIdleProcessorDefinition extends GeoEventProcessorDefinitionBase { private static final BundleLogger LOGGER = BundleLoggerFactory .getLogger(TrackIdleProcessorDefinition.class); public TrackIdleProcessorDefinition() { try { List<LabeledValue> allowableValues = new ArrayList<>(); allowableValues.add(new LabeledValue("OnChange", "OnChange")); allowableValues.add(new LabeledValue("Continuous", "Continuous")); propertyDefinitions .put("notificationMode", new PropertyDefinition( "notificationMode", PropertyType.String, "OnChange", "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_NOTIFICATION_MODE_LBL}", "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_NOTIFICATION_MODE_DESC}", true, false, allowableValues)); propertyDefinitions .put("idleLimit", new PropertyDefinition( "idleLimit", PropertyType.Long, 300, "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_IDLE_LIMIT_LBL}", "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_IDLE_LIMIT_DESC}", true, false)); propertyDefinitions .put("tolerance", new PropertyDefinition( "tolerance", PropertyType.Long, 120, "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_TOLERANCE_LBL}", "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_TOLERANCE_DESC}", true, false)); propertyDefinitions .put("keepfields", new PropertyDefinition( "keepfields", PropertyType.Boolean, false, "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_KEEPFIELDS_LBL}", "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_KEEPFIELDS_DESC}", true, false)); propertyDefinitions .put("outdefname", new PropertyDefinition( "outdefname", PropertyType.String, "", "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_OUTDEFNAME_LBL}", "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_OUTDEFNAME_DESC}", true, false)); } catch (Exception error) { LOGGER.error("INIT_ERROR", error.getMessage()); LOGGER.info(error.getMessage(), error); } } @Override public String getName() { return "TrackIdleProcessor"; } @Override public String getDomain() { return "com.esri.geoevent.solutions.processor.trackidle"; } @Override public String getVersion() { return "10.5.0"; } @Override public String getLabel() { return "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_LABEL}"; } @Override public String getDescription() { return "${com.esri.geoevent.solutions.processor.trackidle.trackidle-processor.PROCESSOR_DESC}"; } @Override public String getContactInfo() { return "patrick_hill@esri.com"; } }