List of usage examples for org.apache.commons.lang3 EnumUtils isValidEnum
public static <E extends Enum<E>> boolean isValidEnum(final Class<E> enumClass, final String enumName)
Checks if the specified name is a valid enum for the class.
This method differs from Enum#valueOf in that checks if the name is a valid enum without needing to catch the exception.
From source file:org.hawaiiframework.sample.web.HelloController.java
@Get(path = "/greet", produces = APPLICATION_JSON_VALUE) public ResponseEntity<JSONObject> greet(@RequestParam(required = false) String name, @RequestParam(required = false) String language) { logger.info("greet called with name: {}, language: {}", name, language); // Validate language if (StringUtils.isNotBlank(language)) { language = StringUtils.upperCase(language); if (!EnumUtils.isValidEnum(Language.class, language)) { throw new ValidationException(new ValidationError("language", "invalid")); }/*from w w w. j av a 2 s . co m*/ } // Create resource to be returned to client JSONObject resource = new JSONObject(); resource.put("timestamp", hawaiiTime.zonedDateTime()); resource.put("greeting", helloService.greet(name, EnumUtils.getEnum(Language.class, language))); return ResponseEntity.ok().body(resource); }
From source file:org.nuxeo.ecm.restapi.server.jaxrs.search.QueryExecutor.java
protected Properties getNamedParameters(MultivaluedMap<String, String> queryParams) { Properties namedParameters = new Properties(); for (String namedParameterKey : queryParams.keySet()) { if (!EnumUtils.isValidEnum(QueryParams.class, namedParameterKey)) { String value = queryParams.getFirst(namedParameterKey); namedParameters.put(namedParameterKey, handleNamedParamVars(value)); }/*from w w w .j a v a 2 s . co m*/ } return namedParameters; }
From source file:org.nuxeo.ecm.restapi.server.jaxrs.search.QueryExecutor.java
protected Properties getNamedParameters(Map<String, String> queryParams) { Properties namedParameters = new Properties(); for (String namedParameterKey : queryParams.keySet()) { if (!EnumUtils.isValidEnum(QueryParams.class, namedParameterKey)) { String value = queryParams.get(namedParameterKey); namedParameters.put(namedParameterKey, handleNamedParamVars(value)); }/*from w w w. j a v a2 s. c o m*/ } return namedParameters; }
From source file:org.nuxeo.ecm.restapi.server.jaxrs.search.QueryExecutor.java
protected DocumentModelList queryByLang(String queryLanguage, MultivaluedMap<String, String> queryParams) throws RestOperationException { if (queryLanguage == null || !EnumUtils.isValidEnum(LangParams.class, queryLanguage)) { throw new RestOperationException("invalid query language", HttpServletResponse.SC_BAD_REQUEST); }//w w w .j av a2 s .c o m String query = getQuery(queryParams); Long pageSize = getPageSize(queryParams); Long currentPageIndex = getCurrentPageIndex(queryParams); Long maxResults = getMaxResults(queryParams); Properties namedParameters = getNamedParameters(queryParams); Object[] parameters = getParameters(queryParams); List<SortInfo> sortInfo = getSortInfo(queryParams); Map<String, Serializable> props = getProperties(); DocumentModel searchDocumentModel = getSearchDocumentModel(ctx.getCoreSession(), pageProviderService, null, namedParameters); return queryByLang(query, pageSize, currentPageIndex, maxResults, sortInfo, parameters, props, searchDocumentModel); }
From source file:org.opennms.web.rest.v1.AlarmRestService.java
/** * <p>/*w w w.ja va 2 s. c o m*/ * updateAlarm * </p> * * @param alarmId * a {@link java.lang.String} object. * @param ack * a {@link java.lang.Boolean} object. */ @PUT @Path("{alarmId}") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Transactional public Response updateAlarm(@Context final SecurityContext securityContext, @PathParam("alarmId") final Integer alarmId, final MultivaluedMapImpl formProperties) { writeLock(); try { boolean isProcessAck = true; if (alarmId == null) { return getBadRequestResponse("Unable to determine alarm ID to update based on query path."); } final String ackValue = formProperties.getFirst("ack"); formProperties.remove("ack"); final String escalateValue = formProperties.getFirst("escalate"); formProperties.remove("escalate"); final String clearValue = formProperties.getFirst("clear"); formProperties.remove("clear"); final String ackUserValue = formProperties.getFirst("ackUser"); formProperties.remove("ackUser"); final String ticketIdValue = formProperties.getFirst("ticketId"); formProperties.remove("ticketId"); final String ticketStateValue = formProperties.getFirst("ticketState"); formProperties.remove("ticketState"); final OnmsAlarm alarm = m_alarmDao.get(alarmId); if (alarm == null) { return getBadRequestResponse("Unable to locate alarm with ID '" + alarmId + "'"); } final String ackUser = ackUserValue == null ? securityContext.getUserPrincipal().getName() : ackUserValue; assertUserEditCredentials(securityContext, ackUser); final OnmsAcknowledgment acknowledgement = new OnmsAcknowledgment(alarm, ackUser); acknowledgement.setAckAction(AckAction.UNSPECIFIED); if (ackValue != null) { if (Boolean.parseBoolean(ackValue)) { acknowledgement.setAckAction(AckAction.ACKNOWLEDGE); } else { acknowledgement.setAckAction(AckAction.UNACKNOWLEDGE); } } else if (escalateValue != null) { if (Boolean.parseBoolean(escalateValue)) { acknowledgement.setAckAction(AckAction.ESCALATE); } } else if (clearValue != null) { if (Boolean.parseBoolean(clearValue)) { acknowledgement.setAckAction(AckAction.CLEAR); } } else if (StringUtils.isNotBlank(ticketIdValue)) { isProcessAck = false; alarm.setTTicketId(ticketIdValue); } else if (EnumUtils.isValidEnum(TroubleTicketState.class, ticketStateValue)) { isProcessAck = false; alarm.setTTicketState(TroubleTicketState.valueOf(ticketStateValue)); } else { return getBadRequestResponse( "Must supply one of the 'ack', 'escalate', or 'clear' parameters, set to either 'true' or 'false'."); } if (isProcessAck) { m_ackDao.processAck(acknowledgement); } else { m_alarmDao.saveOrUpdate(alarm); } return Response.noContent().build(); } finally { writeUnlock(); } }
From source file:org.silverpeas.mobile.server.services.ServiceNavigationImpl.java
private boolean isSupportedApp(ComponentInstLight app) { if (EnumUtils.isValidEnum(Apps.class, app.getName())) { return true; }/*from ww w.j av a 2 s . com*/ return isWorkflowApp(app); }
From source file:org.structr.web.maintenance.DirectFileImportCommand.java
@Override public void execute(final Map<String, Object> attributes) throws FrameworkException { indexer = StructrApp.getInstance(securityContext).getFulltextIndexer(); final String sourcePath = getParameterValueAsString(attributes, "source", null); final String modeString = getParameterValueAsString(attributes, "mode", Mode.COPY.name()).toUpperCase(); final String existingString = getParameterValueAsString(attributes, "existing", Existing.SKIP.name()) .toUpperCase();//from w w w. j a v a 2 s . co m final boolean doIndex = Boolean .parseBoolean(getParameterValueAsString(attributes, "index", Boolean.TRUE.toString())); if (StringUtils.isBlank(sourcePath)) { throw new FrameworkException(422, "Please provide 'source' attribute for deployment source directory path."); } if (!EnumUtils.isValidEnum(Mode.class, modeString)) { throw new FrameworkException(422, "Unknown value for 'mode' attribute. Valid values are: copy, move"); } if (!EnumUtils.isValidEnum(Existing.class, existingString)) { throw new FrameworkException(422, "Unknown value for 'existing' attribute. Valid values are: skip, overwrite, rename"); } // use actual enums final Existing existing = Existing.valueOf(existingString); final Mode mode = Mode.valueOf(modeString); final List<Path> paths = new ArrayList<>(); if (sourcePath.contains(PathHelper.PATH_SEP)) { final String folderPart = PathHelper.getFolderPath(sourcePath); final String namePart = PathHelper.getName(sourcePath); if (StringUtils.isNotBlank(folderPart)) { final Path source = Paths.get(folderPart); if (!Files.exists(source)) { throw new FrameworkException(422, "Source path " + sourcePath + " does not exist."); } if (!Files.isDirectory(source)) { throw new FrameworkException(422, "Source path " + sourcePath + " is not a directory."); } try { try (final DirectoryStream<Path> stream = Files.newDirectoryStream(source, namePart)) { for (final Path entry : stream) { paths.add(entry); } } catch (final DirectoryIteratorException ex) { throw ex.getCause(); } } catch (final IOException ioex) { throw new FrameworkException(422, "Unable to parse source path " + sourcePath + "."); } } } else { // Relative path final Path source = Paths.get(Settings.BasePath.getValue()).resolve(sourcePath); if (!Files.exists(source)) { throw new FrameworkException(422, "Source path " + sourcePath + " does not exist."); } paths.add(source); } final SecurityContext ctx = SecurityContext.getSuperUserInstance(); final App app = StructrApp.getInstance(ctx); String targetPath = getParameterValueAsString(attributes, "target", "/"); Folder targetFolder = null; ctx.setDoTransactionNotifications(false); if (StringUtils.isNotBlank(targetPath) && !("/".equals(targetPath))) { try (final Tx tx = app.tx()) { targetFolder = app.nodeQuery(Folder.class).and(StructrApp.key(Folder.class, "path"), targetPath) .getFirst(); if (targetFolder == null) { throw new FrameworkException(422, "Target path " + targetPath + " does not exist."); } tx.success(); } } String msg = "Starting direct file import from source directory " + sourcePath + " into target path " + targetPath; logger.info(msg); publishProgressMessage(msg); paths.forEach((path) -> { try { final String newTargetPath; // If path is a directory, create it and use it as the new target folder if (Files.isDirectory(path)) { Path parentPath = path.getParent(); if (parentPath == null) { parentPath = path; } createFileOrFolder(ctx, app, parentPath, path, Files.readAttributes(path, BasicFileAttributes.class), sourcePath, targetPath, mode, existing, doIndex); newTargetPath = targetPath + PathHelper.PATH_SEP + PathHelper.clean(path.getFileName().toString()); } else { newTargetPath = targetPath; } Files.walkFileTree(path, new FileVisitor<Path>() { @Override public FileVisitResult preVisitDirectory(final Path dir, final BasicFileAttributes attrs) throws IOException { return FileVisitResult.CONTINUE; } @Override public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs) throws IOException { return createFileOrFolder(ctx, app, path, file, attrs, sourcePath, newTargetPath, mode, existing, doIndex); } @Override public FileVisitResult visitFileFailed(final Path file, final IOException exc) throws IOException { return FileVisitResult.CONTINUE; } @Override public FileVisitResult postVisitDirectory(final Path dir, final IOException exc) throws IOException { return FileVisitResult.CONTINUE; } }); } catch (final IOException ex) { logger.debug("Mode: " + modeString + ", path: " + sourcePath, ex); } }); msg = "Finished direct file import from source directory " + sourcePath + ". Imported " + folderCount + " folders and " + fileCount + " files."; logger.info(msg); publishProgressMessage(msg); }
From source file:tasly.greathealth.oms.order.facades.impl.DefaultPendingOrderFacade.java
/** * put this order into queue according to different event type * * @param pendingOrder//from w w w . j a va 2 s. com * @author vincent.yin */ public void restorePendingOrders(final PendingOrder pendingOrder) { final Message message = new Message(); final String eventType = pendingOrder.getEventType().toString(); if (EnumUtils.isValidEnum(EventType.class, eventType) == false) { LOG.error("Not a valid event type for pending order." + eventType); return; } final Map<String, Object> rawMap = new HashMap<String, Object>(); final Map<String, Object> contentMap = new HashMap<String, Object>(); contentMap.put("tid", pendingOrder.getTid()); contentMap.put("oid", pendingOrder.getOid()); contentMap.put("type", eventType); if (EventType.REFUNDCREATE.equals(pendingOrder.getEventType()) || EventType.REFUNDSUCCESS.toString().equalsIgnoreCase(eventType) || EventType.REFUNDCLOSE.toString().equalsIgnoreCase(eventType)) { contentMap.put("refund_fee", pendingOrder.getRefundFee()); } final String contentMapJson = new JSONSerializer().deepSerialize(contentMap); rawMap.put("content", contentMapJson); rawMap.put("time", String.valueOf(new Date())); setRawMsg(message, rawMap); LOG.info("------> " + message.getRaw()); message.setUserId(911757567L); message.setTopic(eventType); final OrderCommand command; if (pendingOrder.getInnerSource().toString().equals(TMALL_INNER_OTC)) { command = OrderCommandFactory.createTmallOrderCommand(EventType.valueOf(eventType), omsOrderRetrieverService, message, InnerSource.OTC); } else { command = OrderCommandFactory.createTmallOrderCommand(EventType.valueOf(eventType), omsOrderRetrieverService, message, InnerSource.JSC); } command.execute(); }
From source file:tasly.greathealth.oms.web.orderproducer.rest.resources.TaslyOrderProducerConfigResource.java
@GET @Path("orderconsumer/status/{eventType}") public @ResponseBody String getOrderConsumerStatus(@PathParam("eventType") final String eventType) { LOG.info("Look up order consumer status." + eventType); if ("all".equalsIgnoreCase(eventType)) { return new JSONSerializer().deepSerialize(OrderCommandsStorage.getInstance().getAllConsumerStatus()); } else if (EnumUtils.isValidEnum(EventType.class, eventType) == false) { return "Not support event type " + eventType; } else {// ww w . j a v a 2s . c o m return new JSONSerializer() .deepSerialize(OrderCommandsStorage.getInstance().getSingleConsumerStatus(eventType)); } }
From source file:tasly.greathealth.oms.web.orderproducer.rest.resources.TaslyOrderProducerConfigResource.java
@GET @Path("orderconsumer/start/{sourceType}/{eventType}") public @ResponseBody String startOrderConsumer(@PathParam("sourceType") final String st, @PathParam("eventType") final String eventType) { LOG.info("Start order consumer." + eventType); if ("all".equalsIgnoreCase(eventType)) { OrderCommandsStorage.getInstance().startAllConsumer(st); return new JSONSerializer().deepSerialize(OrderCommandsStorage.getInstance().getAllConsumerStatus()); } else if (EnumUtils.isValidEnum(EventType.class, eventType) == false) { return "Not support event type " + eventType; } else {//w w w.j av a2s .c o m OrderCommandsStorage.getInstance().startSingleConsumer(st, eventType); return new JSONSerializer().deepSerialize(OrderCommandsStorage.getInstance().getAllConsumerStatus()); } }