类javax.validation.executable.ValidateOnExecution源码实例Demo

下面列出了怎么用javax.validation.executable.ValidateOnExecution的API类实例代码及写法,或者点击链接到github查看源代码。

@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);
		}
	}
}
 
@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);
		}
	}
}
 
源代码3 项目: cxf   文件: AbstractValidationInterceptor.java
@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);

}
 
源代码4 项目: tomee   文件: PersonController.java
@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";
}
 
源代码5 项目: tomee   文件: PersonController.java
@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";
}
 
源代码6 项目: tomee   文件: PersonController.java
@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";
}
 
源代码7 项目: tomee   文件: PersonController.java
@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";
}
 
源代码8 项目: tomee   文件: BValInterceptor.java
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();
                }
            }
        }
    }
}
 
源代码9 项目: ambari-logsearch   文件: ServiceLogsResource.java
@GET
@Path("/files")
@Produces({MediaType.APPLICATION_JSON})
@ApiOperation(GET_HOST_LOGFILES_OD)
@ValidateOnExecution
public HostLogFilesResponse getHostLogFilesByGet(@Valid @BeanParam HostLogFilesQueryRequest request) {
  return serviceLogsManager.getHostLogFileData(request);
}
 
源代码10 项目: ambari-logsearch   文件: ServiceLogsResource.java
@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);
}
 
源代码11 项目: ambari-logsearch   文件: ShipperConfigResource.java
@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);
}
 
源代码12 项目: ambari-logsearch   文件: ShipperConfigResource.java
@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);
}
 
源代码13 项目: ambari-logsearch   文件: ShipperConfigResource.java
@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);
}
 
源代码14 项目: ee8-sandbox   文件: TaskController.java
@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();
}
 
源代码15 项目: ee8-sandbox   文件: TaskController.java
@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();
}
 
@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());
}
 
@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);
	}
}
 
@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);
	}
}
 
@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)));
	}
}
 
源代码20 项目: portals-pluto   文件: ApplicantRenderController.java
@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;
}
 
@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);
	}
}
 
@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);
	}
}
 
源代码23 项目: maven-framework-project   文件: CoffeesResource.java
@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();
}
 
源代码24 项目: tomee   文件: BValInterceptor.java
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);
}
 
源代码25 项目: portals-pluto   文件: ApplicantRenderController.java
@RenderMethod(portletNames = { "portlet1" })
@ValidateOnExecution(type = ExecutableType.NONE)
public String prepareView(RenderRequest renderRequest, RenderResponse renderResponse) {

	String viewName = viewEngineContext.getView();

	if (viewName == null) {

		viewName = "applicant.html";

		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());

		// Thymeleaf
		models.put("autoFillResourceURL", ControllerUtil.createResourceURL(renderResponse, "autoFill"));
		models.put("deleteFileResourceURL", ControllerUtil.createResourceURL(renderResponse, "deleteFile"));
		models.put("mainFormActionURL", renderResponse.createActionURL());
		models.put("viewTermsResourceURL", ControllerUtil.createResourceURL(renderResponse, "viewTerms"));
		models.put("uploadFilesResourceURL", ControllerUtil.createResourceURL(renderResponse, "uploadFiles"));
	}

	return viewName;
}
 
源代码26 项目: cxf   文件: BookStoreWithValidation.java
@POST
@Path("/booksNoValidate")
@ValidateOnExecution(type = ExecutableType.NONE)
public Response addBookNoValidation(@NotNull @FormParam("id") String id) {
    return Response.ok().build();
}
 
源代码27 项目: cxf   文件: BookStoreWithValidation.java
@POST
@Path("/booksValidate")
@ValidateOnExecution(type = ExecutableType.IMPLICIT)
public Response addBookValidate(@NotNull @FormParam("id") String id) {
    return Response.ok().build();
}
 
@ValidateOnExecution
public void enabledValidation(@NotNull Object object) {
}
 
源代码29 项目: guice-validator   文件: CustomService.java
@ValidateOnExecution
public void doAction(@Valid ComplexBean bean) {
}
 
源代码30 项目: tomee   文件: BValInterceptor.java
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);
}
 
 类所在包
 类方法
 同包方法