javax.validation.executable.ValidateOnExecution Java Examples

The following examples show how to use javax.validation.executable.ValidateOnExecution. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: BValInterceptor.java    From tomee with Apache License 2.0 6 votes vote down vote up
private void initClassConfig(Class<?> targetClass) {
    if (classConfiguration == null) {
        synchronized (this) {
            if (classConfiguration == null) {
                final AnnotatedType<?> annotatedType = CDI.current().getBeanManager()
                        .createAnnotatedType(targetClass);

                if (annotatedType.isAnnotationPresent(ValidateOnExecution.class)) {
                    // implicit does not apply at the class level:
                    classConfiguration = ExecutableTypes.interpret(
                            removeFrom(Arrays.asList(annotatedType.getAnnotation(ValidateOnExecution.class).type()),
                                    ExecutableType.IMPLICIT));
                } else {
                    classConfiguration = globalConfiguration.getGlobalExecutableTypes();
                }
            }
        }
    }
}
 
Example #2
Source File: PersonController.java    From tomee with Apache License 2.0 6 votes vote down vote up
@POST
@Path("update")
@ValidateOnExecution(type = ExecutableType.NONE)
public String update(@Valid @BeanParam Person person) {
    if (bindingResult.isFailed()) {

        this.getErros();
        this.models.put("countries", getCountries());
        this.models.put("person", person);
        return "change.jsp";

    }
    repository.save(person);
    message.setMessageRedirect("The " + person.getName() + " was changed successfully ! ");
    return "redirect:mvc/show";
}
 
Example #3
Source File: PersonController.java    From tomee with Apache License 2.0 6 votes vote down vote up
@POST
@Path("add")
@ValidateOnExecution(type = ExecutableType.NONE)
public String add(@Valid @BeanParam Person person) {
    if (bindingResult.isFailed()) {

        this.getErros();
        this.models.put("countries", getCountries());
        this.models.put("person", person);
        return "insert.jsp";

    }
    repository.save(person);
    message.setMessageRedirect("The " + person.getName() + " was successfully registered ! ");
    return "redirect:mvc/show";
}
 
Example #4
Source File: PersonController.java    From tomee with Apache License 2.0 6 votes vote down vote up
@POST
@Path("update")
@ValidateOnExecution(type = ExecutableType.NONE)
public String update(@Valid @BeanParam Person person) {
    if (bindingResult.isFailed()) {

        this.getErros();
        this.models.put("countries", getCountries());
        this.models.put("person", person);
        return "change.jsp";

    }
    repository.save(person);
    message.setMessageRedirect("The " + person.getName() + " was changed successfully ! ");
    return "redirect:mvc/show";
}
 
Example #5
Source File: PersonController.java    From tomee with Apache License 2.0 6 votes vote down vote up
@POST
@Path("add")
@ValidateOnExecution(type = ExecutableType.NONE)
public String add(@Valid @BeanParam Person person) {
    if (bindingResult.isFailed()) {

        this.getErros();
        this.models.put("countries", getCountries());
        this.models.put("person", person);
        return "insert.jsp";

    }
    repository.save(person);
    message.setMessageRedirect("The " + person.getName() + " was successfully registered ! ");
    return "redirect:mvc/show";
}
 
Example #6
Source File: AbstractValidationInterceptor.java    From cxf with Apache License 2.0 6 votes vote down vote up
@Override
public void handleMessage(Message message) {
    final Object theServiceObject = getServiceObject(message);
    if (theServiceObject == null) {
        return;
    }

    final Method method = getServiceMethod(message);
    if (method == null) {
        return;
    }
    
    ValidateOnExecution validateOnExec = method.getAnnotation(ValidateOnExecution.class);
    if (validateOnExec != null) {
        ExecutableType[] execTypes = validateOnExec.type();
        if (execTypes.length == 1 && execTypes[0] == ExecutableType.NONE) {
            return;
        }
    }


    final List< Object > arguments = MessageContentsList.getContentsList(message);

    handleValidation(message, theServiceObject, method, arguments);

}
 
Example #7
Source File: ApplicantResourceController.java    From portals-pluto with Apache License 2.0 6 votes vote down vote up
@CsrfProtected
@ServeResourceMethod(portletNames = { "portlet1" }, resourceID = "deleteFile")
@ValidateOnExecution(type = ExecutableType.NONE)
public void deleteFile(ResourceRequest resourceRequest, ResourceResponse resourceResponse) {

	PortletSession portletSession = resourceRequest.getPortletSession();

	List<Attachment> attachments = attachmentManager.getAttachments(portletSession.getId());

	ResourceParameters resourceParameters = resourceRequest.getResourceParameters();

	String attachmentIndex = resourceParameters.getValue(resourceResponse.getNamespace() + "attachmentIndex");

	if (attachmentIndex != null) {
		Attachment attachment = attachments.remove(Integer.valueOf(attachmentIndex).intValue());

		try {
			File file = attachment.getFile();
			file.delete();
			_writeTabularJSON(resourceResponse.getWriter(), attachments);
		}
		catch (IOException e) {
			logger.error(e.getMessage(), e);
		}
	}
}
 
Example #8
Source File: ApplicantResourceController.java    From portals-pluto with Apache License 2.0 6 votes vote down vote up
@CsrfProtected
@ServeResourceMethod(portletNames = { "portlet1" }, resourceID = "deleteFile")
@ValidateOnExecution(type = ExecutableType.NONE)
public void deleteFile(ResourceRequest resourceRequest, ResourceResponse resourceResponse) {

	PortletSession portletSession = resourceRequest.getPortletSession();

	List<Attachment> attachments = attachmentManager.getAttachments(portletSession.getId());

	ResourceParameters resourceParameters = resourceRequest.getResourceParameters();

	String attachmentIndex = resourceParameters.getValue(resourceResponse.getNamespace() + "attachmentIndex");

	if (attachmentIndex != null) {
		Attachment attachment = attachments.remove(Integer.valueOf(attachmentIndex).intValue());

		try {
			File file = attachment.getFile();
			file.delete();
			_writeTabularJSON(resourceResponse.getWriter(), attachments);
		}
		catch (IOException e) {
			logger.error(e.getMessage(), e);
		}
	}
}
 
Example #9
Source File: ServiceLogsResource.java    From ambari-logsearch with Apache License 2.0 5 votes vote down vote up
@POST
@Path("/files")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
@ApiOperation(GET_HOST_LOGFILES_OD)
@ValidateOnExecution
public HostLogFilesResponse getHostLogFilesByPost(@Valid @BeanParam HostLogFilesBodyRequest request) {
  return serviceLogsManager.getHostLogFileData(request);
}
 
Example #10
Source File: BValInterceptor.java    From tomee with Apache License 2.0 5 votes vote down vote up
private <T> boolean computeIsConstructorValidated(Class<T> targetClass, Constructor<T> ctor) {
    final AnnotatedType<T> annotatedType =
            CDI.current().getBeanManager().createAnnotatedType(ctor.getDeclaringClass());

    final ValidateOnExecution annotation =
            annotatedType.getConstructors().stream().filter(ac -> ctor.equals(ac.getJavaMember())).findFirst()
                    .map(ac -> ac.getAnnotation(ValidateOnExecution.class))
                    .orElseGet(() -> ctor.getAnnotation(ValidateOnExecution.class));

    final Set<ExecutableType> validatedExecutableTypes =
            annotation == null ? classConfiguration : ExecutableTypes.interpret(annotation.type());

    return validatedExecutableTypes.contains(ExecutableType.CONSTRUCTORS);
}
 
Example #11
Source File: CoffeesResource.java    From maven-framework-project with MIT License 5 votes vote down vote up
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@ValidateOnExecution
public Response addCoffee(@Valid Coffee coffee) {
    int order = CoffeeService.addCoffee(coffee);
    Coffee c = CoffeeService.getCoffee(order);
    return Response.created(uriInfo.getAbsolutePath())
    .entity(c).build();
}
 
Example #12
Source File: ApplicantResourceController.java    From portals-pluto with Apache License 2.0 5 votes vote down vote up
@CsrfProtected
@ServeResourceMethod(portletNames = { "portlet1" }, resourceID = "uploadFiles")
@ValidateOnExecution(type = ExecutableType.NONE)
public void uploadFiles(ResourceRequest resourceRequest, ResourceResponse resourceResponse) {

	PortletSession portletSession = resourceRequest.getPortletSession(true);
	List<Attachment> attachments = attachmentManager.getAttachments(portletSession.getId());

	try {
		Collection<Part> transientMultipartFiles = resourceRequest.getParts();

		if (!transientMultipartFiles.isEmpty()) {

			File attachmentDir = attachmentManager.getAttachmentDir(portletSession.getId());

			if (!attachmentDir.exists()) {
				attachmentDir.mkdir();
			}

			for (Part transientMultipartFile : transientMultipartFiles) {

				String submittedFileName = transientMultipartFile.getSubmittedFileName();

				if (submittedFileName != null) {
					File copiedFile = new File(attachmentDir, submittedFileName);

					transientMultipartFile.write(copiedFile.getAbsolutePath());

					attachments.add(new Attachment(copiedFile));
				}
			}

			_writeTabularJSON(resourceResponse.getWriter(), attachments);
		}
	}
	catch (Exception e) {
		logger.error(e.getMessage(), e);
	}
}
 
Example #13
Source File: PreferencesActionController.java    From portals-pluto with Apache License 2.0 5 votes vote down vote up
@ActionMethod(portletName = "portlet1", actionName = "reset")
@ValidateOnExecution(type = ExecutableType.NONE)
@CsrfProtected
public void resetPreferences(ActionRequest actionRequest, ActionResponse actionResponse) {

	ResourceBundle resourceBundle = portletConfig.getResourceBundle(actionRequest.getLocale());

	try {

		Enumeration<String> preferenceNames = portletPreferences.getNames();

		while (preferenceNames.hasMoreElements()) {
			String preferenceName = preferenceNames.nextElement();

			if (!portletPreferences.isReadOnly(preferenceName)) {
				portletPreferences.reset(preferenceName);
			}
		}

		portletPreferences.store();
		actionResponse.setPortletMode(PortletMode.VIEW);
		actionResponse.setWindowState(WindowState.NORMAL);
		models.put("globalInfoMessage", resourceBundle.getString("your-request-processed-successfully"));
	}
	catch (Exception e) {

		models.put("globalErrorMessage", resourceBundle.getString("an-unexpected-error-occurred"));

		logger.error(e.getMessage(), e);
	}
}
 
Example #14
Source File: ApplicantRenderController.java    From portals-pluto with Apache License 2.0 5 votes vote down vote up
@RenderMethod(portletNames = { "portlet1" })
@ValidateOnExecution(type = ExecutableType.NONE)
public String prepareView(RenderRequest renderRequest, RenderResponse renderResponse) {

	String viewName = viewEngineContext.getView();

	if (viewName == null) {

		viewName = "applicant.jspx";

		Applicant applicant = (Applicant) models.get("applicant");

		if (applicant == null) {
			applicant = new Applicant();
			models.put("applicant", applicant);
		}

		PortletSession portletSession = renderRequest.getPortletSession();
		List<Attachment> attachments = attachmentManager.getAttachments(portletSession.getId());
		applicant.setAttachments(attachments);

		String datePattern = portletPreferences.getValue("datePattern", null);

		models.put("jQueryDatePattern", _getJQueryDatePattern(datePattern));

		models.put("provinces", provinceService.getAllProvinces());

		CDI<Object> currentCDI = CDI.current();
		BeanManager beanManager = currentCDI.getBeanManager();
		Class<? extends BeanManager> beanManagerClass = beanManager.getClass();
		Package beanManagerPackage = beanManagerClass.getPackage();
		models.put("weldVersion", beanManagerPackage.getImplementationVersion());
	}

	return viewName;
}
 
Example #15
Source File: ApplicantResourceController.java    From portals-pluto with Apache License 2.0 5 votes vote down vote up
@CsrfProtected
@ServeResourceMethod(portletNames = { "portlet1" }, resourceID = "uploadFiles")
@ValidateOnExecution(type = ExecutableType.NONE)
public void uploadFiles(ResourceRequest resourceRequest, ResourceResponse resourceResponse) {

	PortletSession portletSession = resourceRequest.getPortletSession(true);
	List<Attachment> attachments = attachmentManager.getAttachments(portletSession.getId());

	try {
		Collection<Part> transientMultipartFiles = resourceRequest.getParts();

		if (!transientMultipartFiles.isEmpty()) {

			File attachmentDir = attachmentManager.getAttachmentDir(portletSession.getId());

			if (!attachmentDir.exists()) {
				attachmentDir.mkdir();
			}

			for (Part transientMultipartFile : transientMultipartFiles) {

				String submittedFileName = transientMultipartFile.getSubmittedFileName();

				if (submittedFileName != null) {
					File copiedFile = new File(attachmentDir, submittedFileName);

					transientMultipartFile.write(copiedFile.getAbsolutePath());

					attachments.add(new Attachment(copiedFile));
				}
			}

			_writeTabularJSON(resourceResponse.getWriter(), attachments);
		}
	}
	catch (Exception e) {
		logger.error(e.getMessage(), e);
	}
}
 
Example #16
Source File: PreferencesActionController.java    From portals-pluto with Apache License 2.0 5 votes vote down vote up
@ActionMethod(portletName = "portlet1", actionName = "reset")
@ValidateOnExecution(type = ExecutableType.NONE)
@CsrfProtected
public void resetPreferences(ActionRequest actionRequest, ActionResponse actionResponse) {

	ResourceBundle resourceBundle = portletConfig.getResourceBundle(actionRequest.getLocale());

	try {

		Enumeration<String> preferenceNames = portletPreferences.getNames();

		while (preferenceNames.hasMoreElements()) {
			String preferenceName = preferenceNames.nextElement();

			if (!portletPreferences.isReadOnly(preferenceName)) {
				portletPreferences.reset(preferenceName);
			}
		}

		portletPreferences.store();
		actionResponse.setPortletMode(PortletMode.VIEW);
		actionResponse.setWindowState(WindowState.NORMAL);
		models.put("globalInfoMessage", resourceBundle.getString("your-request-processed-successfully"));
	}
	catch (Exception e) {

		models.put("globalErrorMessage", resourceBundle.getString("an-unexpected-error-occurred"));

		logger.error(e.getMessage(), e);
	}
}
 
Example #17
Source File: PreferencesRenderController.java    From portals-pluto with Apache License 2.0 5 votes vote down vote up
@RenderMethod(portletNames = { "portlet1" }, portletMode = "edit")
@ValidateOnExecution(type = ExecutableType.NONE)
@View("preferences.jspx")
public void prepareView() {

	Map<String, Object> modelsMap = models.asMap();

	if (!modelsMap.containsKey("preferences")) {
		models.put("preferences", new Preferences(portletPreferences.getValue("datePattern", null)));
	}
}
 
Example #18
Source File: PreferencesRenderController.java    From portals-pluto with Apache License 2.0 5 votes vote down vote up
@RenderMethod(portletNames = { "portlet1" }, portletMode = "edit")
@ValidateOnExecution(type = ExecutableType.NONE)
@View("preferences.html")
public void prepareView(RenderRequest renderRequest, RenderResponse renderResponse) {

	Map<String, Object> modelsMap = models.asMap();

	if (!modelsMap.containsKey("preferences")) {
		models.put("preferences", new Preferences(portletPreferences.getValue("datePattern", null)));
	}

	// Thymeleaf
	models.put("mainFormActionURL", renderResponse.createActionURL());
}
 
Example #19
Source File: ServiceLogsResource.java    From ambari-logsearch with Apache License 2.0 5 votes vote down vote up
@GET
@Path("/files")
@Produces({MediaType.APPLICATION_JSON})
@ApiOperation(GET_HOST_LOGFILES_OD)
@ValidateOnExecution
public HostLogFilesResponse getHostLogFilesByGet(@Valid @BeanParam HostLogFilesQueryRequest request) {
  return serviceLogsManager.getHostLogFileData(request);
}
 
Example #20
Source File: ShipperConfigResource.java    From ambari-logsearch with Apache License 2.0 5 votes vote down vote up
@POST
@Path("/input/{clusterName}/services/{serviceName}")
@Produces({"application/json"})
@ApiOperation(SET_SHIPPER_CONFIG_OD)
@ValidateOnExecution
public Response createShipperConfig(@Valid LSServerInputConfig request, @PathParam("clusterName") String clusterName,
    @PathParam("serviceName") String serviceName) {
  return shipperConfigManager.createInputConfig(clusterName, serviceName, request);
}
 
Example #21
Source File: ShipperConfigResource.java    From ambari-logsearch with Apache License 2.0 5 votes vote down vote up
@PUT
@Path("/input/{clusterName}/services/{serviceName}")
@Produces({"application/json"})
@ApiOperation(SET_SHIPPER_CONFIG_OD)
@ValidateOnExecution
public Response setShipperConfig(@Valid LSServerInputConfig request, @PathParam("clusterName") String clusterName,
    @PathParam("serviceName") String serviceName) {
  return shipperConfigManager.setInputConfig(clusterName, serviceName, request);
}
 
Example #22
Source File: ShipperConfigResource.java    From ambari-logsearch with Apache License 2.0 5 votes vote down vote up
@PUT
@Path("/filters/{clusterName}/level")
@Produces({"application/json"})
@ApiOperation(UPDATE_LOG_LEVEL_FILTER_OD)
@ValidateOnExecution
public Response setLogLevelFilter(@Valid LSServerLogLevelFilterMap request, @PathParam("clusterName") String clusterName) {
  return shipperConfigManager.setLogLevelFilters(clusterName, request);
}
 
Example #23
Source File: TaskController.java    From ee8-sandbox with Apache License 2.0 5 votes vote down vote up
@POST
@CsrfProtected
@ValidateOnExecution(type = ExecutableType.NONE)
public Response save(@Valid @BeanParam TaskForm form) {
    log.log(Level.INFO, "saving new task @{0}", form);

    if (validationResult.isFailed()) {
        AlertMessage alert = AlertMessage.danger("Validation voilations!");
        validationResult.getAllErrors()
                .stream()
                .forEach((ParamError t) -> {
                    alert.addError(t.getParamName(), "", t.getMessage());
                });
        models.put("errors", alert);
        return Response.status(BAD_REQUEST).entity("add.jspx").build();
    }

    Task task = new Task();
    task.setName(form.getName());
    task.setDescription(form.getDescription());
    task.setDueDate(form.getDueDate());

    taskRepository.save(task);

    flashMessage.notify(Type.success, "Task was created successfully!");
    //models.put("flashMessage", flashMessage);

    return Response.ok("redirect:tasks").build();
}
 
Example #24
Source File: TaskController.java    From ee8-sandbox with Apache License 2.0 5 votes vote down vote up
@POST
//@CsrfValid
@ValidateOnExecution(type = ExecutableType.NONE)
public Response save(@Valid @BeanParam TaskForm form) {
    log.log(Level.INFO, "saving new task @{0}", form);

    if (validationResult.isFailed()) {
        AlertMessage alert = AlertMessage.danger("Validation voilations!");
        validationResult.getAllErrors()
                .stream()
                .forEach((ParamError t) -> {
                    alert.addError(t.getParamName(), "", t.getMessage());
                });
        models.put("errors", alert);
        return Response.status(BAD_REQUEST).entity("add.xhtml").build();
    }

    Task task = new Task();
    task.setName(form.getName());
    task.setDescription(form.getDescription());

    taskRepository.save(task);

    flashMessage.notify(Type.success, "Task was created successfully!");
    //models.put("flashMessage", flashMessage);

    return Response.ok("redirect:tasks").build();
}
 
Example #25
Source File: PersonJAXRS.java    From blog with MIT License 4 votes vote down vote up
@POST
@Consumes(MediaType.APPLICATION_JSON)
@ValidateOnExecution
public void post(@Valid Person data) {
  this.data = data;
}
 
Example #26
Source File: ServiceJAXRS.java    From blog with MIT License 4 votes vote down vote up
@POST
@Consumes(MediaType.APPLICATION_JSON)
@ValidateOnExecution
public void post(@Valid Model data) {
  this.data = data;
}
 
Example #27
Source File: BValInterceptor.java    From tomee with Apache License 2.0 4 votes vote down vote up
private <T> boolean computeIsMethodValidated(Class<T> targetClass, Method method) {
    final Signature signature = Signature.of(method);

    AnnotatedMethod<?> declaringMethod = null;

    for (final Class<?> c : Reflection.hierarchy(targetClass, Interfaces.INCLUDE)) {
        final AnnotatedType<?> annotatedType = CDI.current().getBeanManager().createAnnotatedType(c);

        final AnnotatedMethod<?> annotatedMethod = annotatedType.getMethods().stream()
                .filter(am -> Signature.of(am.getJavaMember()).equals(signature)).findFirst().orElse(null);

        if (annotatedMethod != null) {
            declaringMethod = annotatedMethod;
        }
    }
    if (declaringMethod == null) {
        return false;
    }
    final Collection<ExecutableType> declaredExecutableTypes;

    if (declaringMethod.isAnnotationPresent(ValidateOnExecution.class)) {
        final List<ExecutableType> validatedTypesOnMethod =
                Arrays.asList(declaringMethod.getAnnotation(ValidateOnExecution.class).type());

        // implicit directly on method -> early return:
        if (validatedTypesOnMethod.contains(ExecutableType.IMPLICIT)) {
            return true;
        }
        declaredExecutableTypes = validatedTypesOnMethod;
    } else {
        final AnnotatedType<?> declaringType = declaringMethod.getDeclaringType();
        if (declaringType.isAnnotationPresent(ValidateOnExecution.class)) {
            // IMPLICIT is meaningless at class level:
            declaredExecutableTypes =
                    removeFrom(Arrays.asList(declaringType.getAnnotation(ValidateOnExecution.class).type()),
                            ExecutableType.IMPLICIT);
        } else {
            final Package pkg = declaringType.getJavaClass().getPackage();
            if (pkg != null && pkg.isAnnotationPresent(ValidateOnExecution.class)) {
                // presumably IMPLICIT is likewise meaningless at package level:
                declaredExecutableTypes = removeFrom(
                        Arrays.asList(pkg.getAnnotation(ValidateOnExecution.class).type()), ExecutableType.IMPLICIT);
            } else {
                declaredExecutableTypes = null;
            }
        }
    }
    final ExecutableType methodType =
            Methods.isGetter(method) ? ExecutableType.GETTER_METHODS : ExecutableType.NON_GETTER_METHODS;

    return Optional.ofNullable(declaredExecutableTypes).map(ExecutableTypes::interpret)
            .orElse(globalConfiguration.getGlobalExecutableTypes()).contains(methodType);
}
 
Example #28
Source File: CustomService.java    From guice-validator with MIT License 4 votes vote down vote up
@ValidateOnExecution
public void doAction(@Valid ComplexBean bean) {
}
 
Example #29
Source File: SingleMethodValidationTest.java    From guice-validator with MIT License 4 votes vote down vote up
@ValidateOnExecution
public void enabledValidation(@NotNull Object object) {
}
 
Example #30
Source File: BookStoreWithValidation.java    From cxf with Apache License 2.0 4 votes vote down vote up
@POST
@Path("/booksValidate")
@ValidateOnExecution(type = ExecutableType.IMPLICIT)
public Response addBookValidate(@NotNull @FormParam("id") String id) {
    return Response.ok().build();
}