@SuppressWarnings("unchecked") @Override public Collection<TriggerType> getTriggers(Locale locale) { if (moduleTypeRegistry != null) { return moduleTypeRegistry.getTriggers(locale); } return null; }
@GET @Produces(MediaType.APPLICATION_JSON) @ApiOperation(value = "Get all available module types.", response = ModuleTypeDTO.class, responseContainer = "List") @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = ModuleTypeDTO.class, responseContainer = "List") }) public Response getAll(@HeaderParam("Accept-Language") @ApiParam(value = "language") String language, @QueryParam("tags") @ApiParam(value = "tags for filtering", required = false) String tagList, @QueryParam("type") @ApiParam(value = "filtering by action, condition or trigger", required = false) String type) { final Locale locale = localeService.getLocale(language); final String[] tags = tagList != null ? tagList.split(",") : null; final List<ModuleTypeDTO> modules = new ArrayList<ModuleTypeDTO>(); if (type == null || type.equals("trigger")) { modules.addAll(TriggerTypeDTOMapper.map(moduleTypeRegistry.getTriggers(locale, tags))); } if (type == null || type.equals("condition")) { modules.addAll(ConditionTypeDTOMapper.map(moduleTypeRegistry.getConditions(locale, tags))); } if (type == null || type.equals("action")) { modules.addAll(ActionTypeDTOMapper.map(moduleTypeRegistry.getActions(locale, tags))); } return Response.ok(modules).build(); }