Package org.apache.shale.util

Examples of org.apache.shale.util.Tags


          if (typeVars != null && typeVars.containsKey(v.getType())) {
              localVars = (Map) typeVars.get(v.getType());
          }
      }

      Tags tagUtils = new Tags();
      ValidatorAction validatorAction = v.getValidatorAction();
      writer.write("new Array(\"");
      writer.write(id);
      writer.write("\", \"");
      writer.write(v.getErrorMessage(context, validatorAction, localVars));
      writer.write("\", new Function(\"x\", \"return {");

      Iterator vi = v.getVars().entrySet().iterator();

      boolean first = true;

      // vars captured at render time and are the result of
      // EL.
      Map idVars = (Map) validatorVars.get(id);

      next: while (vi.hasNext()) {
         Map.Entry e = (Map.Entry) vi.next();

         Object value = e.getValue();

         // look for a render override by clientId/type
         if (idVars != null && idVars.containsKey(v.getType())) {

             Map typeVars = (Map) idVars.get(v.getType());
             // look for a render override by clientId/type/name
             if (typeVars != null && typeVars.containsKey(e.getKey())) {
                value = typeVars.get(e.getKey());
             }
         } else {
            if (value != null && value instanceof String
                && isValueReference((String) e.getValue())) {

                value = tagUtils.eval((String) e.getValue());
            }
         }

         if (value == null) {
            continue next;
View Full Code Here


      }
      if (arg != null) {
          validator.setArg(arg);
      }

      Tags tagUtils = new Tags();

      // these properties require early binding
      validator.setType(tagUtils.evalString(type));
      validator.setMessage(tagUtils.evalString(message));
      validator.setClient(tagUtils.evalBoolean(client));
      validator.setServer(tagUtils.evalBoolean(server));

      tagUtils = null;

      // pass the parameters specified through <s:validatorVar>
      // if these vars contain binding expressions, they are
View Full Code Here

     *        and used by the script collector
     * @return array of objects used to fill the message
     */
    protected Object[] getMessageArgs(String ruleName, Map localVars) {

       Tags tagUtils = new Tags();
       Arg[] templateArgs = getArgs(MESSAGE_ARG_NAME, ruleName);
       assert templateArgs != null;

       Object[] target = new Object[templateArgs.length];

       for (int i = 0; i < templateArgs.length; i++) {
          Object value = vars.get(templateArgs[i].getKey());

          // look for a local var override
          if (localVars != null && localVars.containsKey(templateArgs[i].getKey())) {
             value = localVars.get(templateArgs[i].getKey());
          } else if (value != null && value instanceof String) {
              // if a String, check for a value binding expression
              value = tagUtils.eval((String) value);
          }
          target[i] = value;
       }

       return target;
View Full Code Here

     * @param methodParamClasses <code>Class[]</code> of the parameters of the target method.
     * @param localVars snapshot of EL variables at rendering time; used by client side
     * @return An array of object valuse for each method parameter.
     */
    protected Object[] loadMethodParamValues(FacesContext context, ValidatorAction validatorAction, Class[] methodParamClasses, Map localVars) {
        Tags tagUtils = new Tags();

        String[] paramNames = getMethodParamNames(validatorAction.getName());
        assert paramNames != null;

        Object[] target = new Object[paramNames.length];
        assert paramNames.length == methodParamClasses.length;

        for (int i = 0; i < paramNames.length; i++) {
            Object obj = null;
            if (localVars != null && localVars.containsKey(paramNames[i])) {
                obj = localVars.get(paramNames[i]);  
            }
            if (obj == null) {
                obj = vars.get(paramNames[i]);
            }
            if (obj != null && obj instanceof String) {
                obj = tagUtils.eval((String) obj);
            }
            target[i] = convert(context, obj, methodParamClasses[i]);
        }

        return target;
View Full Code Here

     */
    public void encodeBegin(FacesContext context, UIComponent component) throws IOException {

        if (component instanceof EditableValueHolder && component.isRendered()) {

                Tags tagUtils = new Tags();

                EditableValueHolder editableComponent = (EditableValueHolder) component;

                // A map that captures information about a component that might contain
                // commons validators.  The map is organized by a hierarchy "clientId/validatorType/vars"
                Map ids = (Map) component.getAttributes().get(VALIDATOR_CLIENTIDS_ATTR);
                if (ids == null) {
                    ids = new TreeMap();
                    component.getAttributes().put(VALIDATOR_CLIENTIDS_ATTR, ids);
                }

                // captrue the clientId before renderering
                String clientId = component.getClientId(context);
                Map validatorVars = (Map) ids.get(clientId);
                if (validatorVars == null) {
                    validatorVars = new TreeMap();
                    ids.put(clientId, validatorVars);
                }


                Validator[] validators = editableComponent.getValidators();
                // look for components using CommonsValidator
                for (int i = 0; i < validators.length; i++) {
                    if (validators[i] instanceof CommonsValidator) {
                       CommonsValidator validator = (CommonsValidator) validators[i];

                       // look for a map of var's by component type
                       Map localVars = (Map) validatorVars.get(validator.getType());
                       if (localVars == null) {
                           localVars = new TreeMap();
                           validatorVars.put(validator.getType(), localVars);
                       } else {
                           localVars.clear();
                       }

                       Map vars = validator.getVars();
                       Iterator vi = vars.entrySet().iterator();
                       while (vi.hasNext()) {
                          Map.Entry e = (Map.Entry) vi.next();
                          // only override if the var contains a value binding expression
                          if (e.getValue() != null && e.getValue() instanceof String
                              && isValueReference((String) e.getValue())) {

                             localVars.put(e.getKey(), tagUtils.eval((String) e.getValue()));

                          }
                       }

                    }
View Full Code Here

TOP

Related Classes of org.apache.shale.util.Tags

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.