/** * Converts a string into an {@link EventType} ignoring case in the process. * * @param name the name of the event type. * @return the converted event type. */ public static EventType valueOfIgnoreCase(String name) { try { return valueOf(name.toUpperCase()); } catch (IllegalArgumentException e) { return UNKNOWN; } }
private static Capability deserialize(ProtoRobotCapability data) { List<Context> contexts = Lists.newArrayList(); for (String str: data.getContextList()) { contexts.add(Context.valueOf(str)); } return new Capability(EventType.valueOf(data.getEventType()), contexts, data.getFilter()); } }
@SuppressWarnings("unchecked") private RobotCapabilities objectToCapabilities(DBObject object) { if (object == null) { return null; } Map<String, Object> capabilitiesObj = (Map<String, Object>) object.get(CAPABILITIES_CAPABILITIES_FIELD); Map<EventType, Capability> capabilities = CollectionUtils.newHashMap(); for (Entry<String, Object> capability : capabilitiesObj.entrySet()) { EventType eventType = EventType.valueOf(capability.getKey()); List<Context> contexts = CollectionUtils.newArrayList(); DBObject capabilityObj = (DBObject) capability.getValue(); DBObject contextsObj = (DBObject) capabilityObj.get(CAPABILITY_CONTEXTS_FIELD); for (String contextId : contextsObj.keySet()) { contexts.add(Context.valueOf((String) contextsObj.get(contextId))); } String filter = (String) capabilityObj.get(CAPABILITY_FILTER_FIELD); capabilities.put(eventType, new Capability(eventType, contexts, filter)); } String capabilitiesHash = (String) object.get(CAPABILITIES_HASH_FIELD); ProtocolVersion version = ProtocolVersion.valueOf((String) object.get(CAPABILITIES_VERSION_FIELD)); return new RobotCapabilities(capabilities, capabilitiesHash, version); } }