Package com.opensymphony.xwork2.validator

Examples of com.opensymphony.xwork2.validator.ValidatorContext


      sf.autoWireBean(beanNameFinder);
    }
  }

  protected void initReloadClassLoader() {
    if (isReloadEnabled() && reloadingClassLoader == null) reloadingClassLoader = new ReloadingClassLoader(
        getClassLoader());
  }
View Full Code Here


        @Override
        public boolean contains(Object o) {
          return !ObjectUtils.equals(o, "file");
        }
      };
      ClassFinder finder = new ClassFinder(getClassLoaderInterface(), buildUrls(), false, jarProtocols);
      for (String packageName : actionPackages) {
        Test<ClassFinder.ClassInfo> test = getPackageFinderTest(packageName);
        classes.addAll(finder.findClasses(test));
      }
    } catch (Exception ex) {
      logger.error("Unable to scan named packages", ex);
    }
    return classes;
View Full Code Here

  }

  protected ClassLoaderInterface getClassLoaderInterface() {
    if (isReloadEnabled()) return new ClassLoaderInterfaceDelegate(reloadingClassLoader);
    else {
      ClassLoaderInterface classLoaderInterface = null;
      ActionContext ctx = ActionContext.getContext();
      if (ctx != null) classLoaderInterface = (ClassLoaderInterface) ctx
          .get(ClassLoaderInterface.CLASS_LOADER_INTERFACE);
      return (ClassLoaderInterface) ObjectUtils.defaultIfNull(classLoaderInterface,
          new ClassLoaderInterfaceDelegate(getClassLoader()));
View Full Code Here

  }

  private Set<URL> buildUrls() {
    Set<URL> urls = CollectUtils.newHashSet();
    Enumeration<URL> em;
    ClassLoaderInterface classloader = getClassLoaderInterface();
    try {
      em = classloader.getResources("struts-plugin.xml");
      while (em.hasMoreElements()) {
        URL url = em.nextElement();
        urls.add(new URL(substringBeforeLast(url.toExternalForm(), "struts-plugin.xml")));
      }
      em = classloader.getResources("struts.xml");
      while (em.hasMoreElements()) {
        URL url = em.nextElement();
        urls.add(new URL(substringBeforeLast(url.toExternalForm(), "struts.xml")));
      }
    } catch (IOException e) {
View Full Code Here

    logger.info("Action scan completely,create {} action in {} ms", newActions,
        System.currentTimeMillis() - start);
  }

  protected ClassLoaderInterface getClassLoaderInterface() {
    if (isReloadEnabled()) return new ClassLoaderInterfaceDelegate(reloadingClassLoader);
    else {
      ClassLoaderInterface classLoaderInterface = null;
      ActionContext ctx = ActionContext.getContext();
      if (ctx != null) classLoaderInterface = (ClassLoaderInterface) ctx
          .get(ClassLoaderInterface.CLASS_LOADER_INTERFACE);
      return (ClassLoaderInterface) ObjectUtils.defaultIfNull(classLoaderInterface,
          new ClassLoaderInterfaceDelegate(getClassLoader()));
    }
  }
View Full Code Here

    private void validateObject(String fieldName, Object o, String visitorContext) throws ValidationException {
        ValueStack stack = ActionContext.getContext().getValueStack();
        stack.push(o);

        ValidatorContext validatorContext;

        if (appendPrefix) {
            validatorContext = new AppendingValidatorContext(getValidatorContext(), o, fieldName, getMessage(o));
        } else {
            ValidatorContext parent = getValidatorContext();
            validatorContext = new DelegatingValidatorContext(parent, DelegatingValidatorContext.makeTextProvider(o, parent), parent);
        }

        actionValidatorManager.validate(o, visitorContext, validatorContext);
        stack.pop();
View Full Code Here

        addValidationErrors(violations.toArray(new ConstraintViolation[violations.size()]), action, valueStack, null);
    }

  private void addValidationErrors(ConstraintViolation[] violations, Object action, ValueStack valueStack, String parentFieldname) {
    if (violations != null) {
            ValidatorContext validatorContext = new DelegatingValidatorContext(action);
            for (ConstraintViolation violation : violations) {
                //translate message
                String key = violation.getMessage();

                String message = key;
                // push context variable into stack, to allow use ${max}, ${min} etc in error messages
                valueStack.push(violation.getMessageVariables());
                //push the validator into the stack
                valueStack.push(violation.getContext());
                try {
                    message = validatorContext.getText(key);
                } finally {
                    valueStack.pop();
                    valueStack.pop();
                }

                if (isActionError(violation)) {
                    if (LOG.isDebugEnabled()) {
                  LOG.debug("Adding action error '#0'", message);
                    }
                    validatorContext.addActionError(message);
                } else {
                    ValidationError validationError = buildValidationError(violation, message);

                    // build field name
                    String fieldName = validationError.getFieldName();
                    if (parentFieldname != null) {
                      fieldName = parentFieldname + "." + fieldName;
                    }

                    if (LOG.isDebugEnabled()) {
                  LOG.debug("Adding field error [#0] with message '#1'", fieldName, validationError.getMessage());
                    }
                    validatorContext.addFieldError(fieldName, validationError.getMessage());

                    // don't add "model." prefix to fields of model in model driven action
                    if ((action instanceof ModelDriven) && "model".equals(fieldName)) {
                      fieldName = null;
                    }
View Full Code Here

    public void validate( Object obj )
        throws ValidationException
    {

        String method = (String) getFieldValue( "method", obj );
        ValidatorContext ctxt = getValidatorContext();

        if ( method.equals( "rsync" ) )
        {
            String rsyncHost = (String) getFieldValue( "rsyncHost", obj );
            if ( rsyncHost == null || rsyncHost.equals( "" ) )
            {
                ctxt.addActionError( "Rsync host is required." );
            }

            String rsyncDirectory = (String) getFieldValue( "rsyncDirectory", obj );
            if ( rsyncDirectory == null || rsyncDirectory.equals( "" ) )
            {
                ctxt.addActionError( "Rsync directory is required." );
            }

            String rsyncMethod = (String) getFieldValue( "rsyncMethod", obj );
            if ( rsyncMethod == null || rsyncMethod.equals( "" ) )
            {
                ctxt.addActionError( "Rsync method is required." );
            }
            else
            {
                if ( !rsyncMethod.equals( "anonymous" ) && !rsyncMethod.equals( "ssh" ) )
                {
                    ctxt.addActionError( "Invalid rsync method" );
                }
            }

            String username = (String) getFieldValue( "username", obj );
            if ( username == null || username.equals( "" ) )
            {
                ctxt.addActionError( "Username is required." );
            }

        }
        else if ( method.equals( "svn" ) )
        {
            String svnUrl = (String) getFieldValue( "svnUrl", obj );
            if ( svnUrl == null || svnUrl.equals( "" ) )
            {
                ctxt.addActionError( "SVN url is required." );
            }

            String username = (String) getFieldValue( "username", obj );
            if ( username == null || username.equals( "" ) )
            {
                ctxt.addActionError( "Username is required." );
            }
        }
        else if ( method.equals( "cvs" ) )
        {
            String cvsRoot = (String) getFieldValue( "cvsRoot", obj );
            if ( cvsRoot == null || cvsRoot.equals( "" ) )
            {
                ctxt.addActionError( "CVS root is required." );
            }
        }
        else if ( method.equals( "file" ) )
        {
            String directory = (String) getFieldValue( "directory", obj );
            if ( directory == null || directory.equals( "" ) )
            {
                ctxt.addActionError( "Directory is required." );
            }
        }

        if ( ctxt.hasActionErrors() )
        {
            return;
        }
    }
View Full Code Here

        String cron = (String) getFieldValue( "cron", obj );

        org.codehaus.redback.components.scheduler.CronExpressionValidator cronExpressionValidator =
            new org.codehaus.redback.components.scheduler.CronExpressionValidator();

        ValidatorContext ctxt = getValidatorContext();
        if ( !cronExpressionValidator.validate( String.valueOf( cron ) ) )
        {
            ctxt.addActionError( "Invalid cron expression value(s)" );
            return;
        }
    }
View Full Code Here

        String snapshotsPolicy = (String) getFieldValue( "snapshotsPolicy", obj );
        String releasesPolicy = (String) getFieldValue( "releasesPolicy", obj );
        Integer snapshotsInterval = (Integer) getFieldValue( "snapshotsInterval", obj );
        Integer releasesInterval = (Integer) getFieldValue( "releasesInterval", obj );

        ValidatorContext ctxt = getValidatorContext();

        if ( !snapshotsPolicy.equals( "interval" ) )
        {
            if ( snapshotsInterval.intValue() != 0 )
            {
                ctxt.addActionError( "Snapshots Interval must be set to zero." );
            }
        }

        if ( !releasesPolicy.equals( "interval" ) )
        {
            if ( releasesInterval.intValue() != 0 )
            {
                ctxt.addActionError( "Releases Interval must be set to zero." );
            }
        }

        if ( ctxt.hasActionErrors() )
        {
            return;
        }
    }
View Full Code Here

TOP

Related Classes of com.opensymphony.xwork2.validator.ValidatorContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.