Esempio n. 1
0
 @Override
 public Set<VariableRef> getReadsFrom() {
   Set<VariableRef> s = new HashSet<VariableRef>();
   for (Argument a : args) {
     if (a.getValue() instanceof VariableRef) {
       s.add((VariableRef) a.getValue());
     }
   }
   return s;
 }
Esempio n. 2
0
  @Override
  public void parseArgs(ScriptEntry scriptEntry) throws InvalidArgumentsException {

    // Parse Arguments
    for (Argument arg : aH.interpret(scriptEntry.getArguments())) {

      if (!scriptEntry.hasObject("action") && arg.matchesEnum(Action.values()))
        scriptEntry.addObject("action", Action.valueOf(arg.getValue().toUpperCase()));
      else if (!scriptEntry.hasObject("range")
          && arg.matchesPrimitive(aH.PrimitiveType.Double)
          && arg.matchesPrefix("range, r")) scriptEntry.addObject("range", arg.asElement());
      else if (!scriptEntry.hasObject("id") && arg.matchesPrefix("id, i"))
        scriptEntry.addObject("id", arg.asElement());
      else if (!scriptEntry.hasObject("location") && arg.matchesArgumentType(dLocation.class))
        scriptEntry.addObject("location", arg.asType(dLocation.class));
      else arg.reportUnhandled();
    }

    // Check required arguments
    if (!scriptEntry.hasNPC())
      throw new InvalidArgumentsException("NPC linked was missing or invalid.");

    if (!scriptEntry.hasObject("action"))
      throw new InvalidArgumentsException(
          "Must specify an 'Anchor Action'. Valid: " + Action.values());
  }
Esempio n. 3
0
 @Override
 public String toString() {
   StringBuffer buf = new StringBuffer();
   buf.append("[UnitGroup ");
   buf.append(id);
   buf.append(" :type ");
   buf.append(type);
   buf.append(" :ownerId ");
   buf.append(ownerId);
   buf.append(" (:required");
   for (Argument arg : unitTypeReqs) {
     buf.append(" ");
     buf.append(arg.getName());
     buf.append(" ");
     buf.append(arg.getValue());
   }
   buf.append(") (:actual");
   if (!isEmpty()) {
     for (Map.Entry<String, Integer> entry : getRepresentative().getUnitTypes().entrySet()) {
       buf.append(" ");
       buf.append(entry.getKey());
       buf.append(" ");
       buf.append(entry.getValue());
     }
   }
   buf.append(")]");
   return buf.toString();
 }
Esempio n. 4
0
  /*
  verifies that each of our registered parameters has a value, either given or default

  throws an exeption otherwise
   */
  private void verify() throws Exception {
    for (Argument parameter : parameters.values()) {
      if (parameter.getValue() == null && parameter.getDefaultValue() == null) {
        throw new Exception(
            String.format("Argument '%s' is required.  Please see usage.", parameter.name));
      }
    }
  }
Esempio n. 5
0
 /** @deprecated */
 public void set(ArgumentList inArgList) {
   int nInArgs = inArgList.size();
   for (int n = 0; n < nInArgs; n++) {
     Argument inArg = inArgList.getArgument(n);
     String inArgName = inArg.getName();
     Argument arg = getArgument(inArgName);
     if (arg == null) continue;
     arg.setValue(inArg.getValue());
   }
 }
 /**
  * Goes through SynapsePath argument list, evaluating each by calling stringValueOf and returns a
  * HashMap String, String array where each item will contain a hash map with key "evaluated
  * expression" and value "SynapsePath type".
  *
  * @param synCtx
  * @return
  */
 private HashMap<String, String>[] getArgValues(MessageContext synCtx) {
   HashMap<String, String>[] argValues = new HashMap[pathArgumentList.size()];
   HashMap<String, String> valueMap;
   String value = "";
   for (int i = 0; i < pathArgumentList.size(); ++i) {
       /*ToDo use foreach*/
     Argument arg = pathArgumentList.get(i);
     if (arg.getValue() != null) {
       value = arg.getValue();
       if (!isWellFormedXML(value)) {
         value = StringEscapeUtils.escapeXml(value);
       }
       value = Matcher.quoteReplacement(value);
     } else if (arg.getExpression() != null) {
       value = arg.getExpression().stringValueOf(synCtx);
       if (value != null) {
         // XML escape the result of an expression that produces a literal, if the target format
         // of the payload is XML.
         if (!isWellFormedXML(value)
             && !arg.getExpression().getPathType().equals(SynapsePath.JSON_PATH)
             && XML_TYPE.equals(getType())) {
           value = StringEscapeUtils.escapeXml(value);
         }
         value = Matcher.quoteReplacement(value);
       } else {
         value = "";
       }
     } else {
       handleException("Unexpected arg type detected", synCtx);
     }
     // value = value.replace(String.valueOf((char) 160), " ").trim();
     valueMap = new HashMap<String, String>();
     if (null != arg.getExpression()) {
       valueMap.put(value, arg.getExpression().getPathType());
     } else {
       valueMap.put(value, SynapsePath.X_PATH);
     }
     argValues[i] = valueMap;
   }
   return argValues;
 }
Esempio n. 7
0
 public void print() {
   Debug.message("Action : " + getName());
   ArgumentList argList = getArgumentList();
   int nArgs = argList.size();
   for (int n = 0; n < nArgs; n++) {
     Argument arg = argList.getArgument(n);
     String name = arg.getName();
     String value = arg.getValue();
     String dir = arg.getDirection();
     Debug.message(" [" + n + "] = " + dir + ", " + name + ", " + value);
   }
 }
Esempio n. 8
0
 /**
  * Set all the Argument which are Output Argoument to the given value in the argument list
  *
  * @param outArgList
  */
 public void setResArgs(ArgumentList outArgList) {
   int nArgs = size();
   for (int n = 0; n < nArgs; n++) {
     Argument arg = getArgument(n);
     if (arg.isOutDirection()) {
       String argName = arg.getName();
       Argument outArg = outArgList.getArgument(argName);
       if (outArg == null)
         throw new IllegalArgumentException("Argument \"" + argName + "\" missing.");
       arg.setValue(outArg.getValue());
     }
   }
 }
  private URI getURI(FormattedMessage message) {

    for (Argument arg : message.getArgs()) {
      if (arg.getType().equals(ArgumentType.URL)) {
        try {
          return new URI(arg.getValue());
        } catch (URISyntaxException e) {
          throw new IllegalArgumentException(e);
        }
      }
    }

    throw new IllegalArgumentException("Could not find a URI in the formatted message " + message);
  }
Esempio n. 10
0
 public Object getValue(String argumentName) {
   Object value = null;
   argumentName = argumentName.toLowerCase();
   if (parameters.containsKey(argumentName)) {
     Argument argument = parameters.get(argumentName);
     value = argument.getValue();
     if (value == null) {
       String defaultValue = argument.getDefaultValue();
       try {
         value = argument.getHandler().tryArgument(defaultValue);
       } catch (Exception e) {
       }
     }
   }
   return value;
 }
Esempio n. 11
0
 /** Do group units meet group requirements? */
 public boolean meetsUnitReqs() {
   if (unitTypeReqs.isEmpty()) {
     // a group with no requirements always meets requirements.
     return true;
   } else if (units.isEmpty()) {
     // if there are requirments and no units, then group can't meet reqs.
     return false;
   }
   // the above tests are there because
   // an empty group has no representative (null representative).
   GroupRepresentative rep = getRepresentative();
   for (Argument req : unitTypeReqs) {
     if (!rep.contains(req.getName(), req.getValue())) {
       return false;
     }
   }
   return true;
 }
Esempio n. 12
0
 /*
 Tries each handler for the given parameter and returns a success boolean
  */
 private boolean parseKV(String key, String value) throws Exception {
   boolean success = false;
   // must have a registered handler; see registerArgumentHandler()
   if (!parameters.containsKey(key)) {
     throw new Exception(key + " is not a valid argument");
   }
   Argument arg = parameters.get(key);
   // don't allow dupes
   if (arg.getValue() != null) {
     throw new Exception("Duplicate arguments: " + key);
   }
   try {
     // handler returns null if it can't handle the argument
     // it can throw an exception if the argument is an unacceptable value
     Object param = arg.getHandler().tryArgument(value);
     if (param != null) {
       arg.setValue(param);
       success = true;
     }
   } catch (Exception e) {
     throw new Exception("Bad argument value for '" + key + "': " + e.getMessage());
   }
   return success;
 }
  public OMElement serialize(OMElement parent) {

    OMElement payloadFactoryElem = fac.createOMElement(PAYLOAD_FACTORY, synNS);
    if (type != null) {
      payloadFactoryElem.addAttribute(fac.createOMAttribute(TYPE, nullNS, type));
    }
    saveTracingState(payloadFactoryElem, this);

    if (!dynamic) {
      if (format != null) {
        try {
          OMElement formatElem = fac.createOMElement(FORMAT, synNS);
          if (type != null && (type.contains(JSON_TYPE) || type.contains(TEXT_TYPE))) {
            formatElem.setText(format);
          } else {
            formatElem.addChild(AXIOMUtil.stringToOM(format));
          }
          payloadFactoryElem.addChild(formatElem);
        } catch (XMLStreamException e) {
          handleException("Error while serializing payloadFactory mediator", e);
        }
      } else {
        handleException("Invalid payloadFactory mediator, format is required");
      }
    } else {
      if (formatKey != null) {
        OMElement formatElem = fac.createOMElement(FORMAT, synNS);
        formatElem.addAttribute(fac.createOMAttribute("key", nullNS, formatKey));
        payloadFactoryElem.addChild(formatElem);
      } else {
        handleException("Invalid payloadFactory mediator, format is required");
      }
    }

    if (argumentList != null && argumentList.size() > 0) {

      OMElement argumentsElem = fac.createOMElement(ARGS, synNS);

      for (Argument arg : argumentList) {

        OMElement argElem = fac.createOMElement(ARG, synNS);

        if (arg.isDeepCheck()) {
          argElem.addAttribute(fac.createOMAttribute(DEEP_CHECK, nullNS, "true"));
        } else {
          argElem.addAttribute(fac.createOMAttribute(DEEP_CHECK, nullNS, "false"));
        }

        if (arg.getValue() != null) {
          argElem.addAttribute(fac.createOMAttribute(VALUE, nullNS, arg.getValue()));
        } else if (arg.getExpression() != null) {
          SynapseXPathSerializer.serializeXPath(arg.getExpression(), argElem, EXPRESSION);
        } else if (arg.getJsonPath() != null) {
          argElem.addAttribute(
              fac.createOMAttribute(EXPRESSION, nullNS, arg.getJsonPath().getExpression()));
        }
        // error happens somewhere here
        if (arg.getEvaluator() != null) {
          argElem.addAttribute(fac.createOMAttribute(EVAL, nullNS, arg.getEvaluator()));
        }
        argumentsElem.addChild(argElem);
      }
      payloadFactoryElem.addChild(argumentsElem);
    }

    if (parent != null) {
      parent.addChild(payloadFactoryElem);
    }

    return payloadFactoryElem;
  }
  public String toXML() {
    Element root = new Element("testCaseTemplateParameter");

    for (String importName : imports) {
      Element importElement = new Element("import");
      importElement.appendChild(importName);
      root.appendChild(importElement);
    }

    for (Map.Entry<String, String> entry : classToMockInstanceNameMap.entrySet()) {
      Element classToMockElement = new Element("classToMock");

      // ClassName
      Element classNameElement = new Element("className");
      classNameElement.appendChild(entry.getKey());
      classToMockElement.appendChild(classNameElement);

      // InstanceName
      Element instanceNameElement = new Element("instanceName");
      instanceNameElement.appendChild(entry.getValue());
      classToMockElement.appendChild(instanceNameElement);

      // Invokes
      for (String invoke : jMockInvokeSequenceMap.get(entry.getKey())) {
        Element invokeElement = new Element("invoke");
        invokeElement.appendChild(invoke);
        classToMockElement.appendChild(invokeElement);
      }
      root.appendChild(classToMockElement);
    }

    Element packageNameElement = new Element("packageName");
    packageNameElement.appendChild(this.getPackageName());
    root.appendChild(packageNameElement);

    Element classUnderTestElement = new Element("classUnderTest");
    classUnderTestElement.appendChild(this.getClassUnderTest());
    root.appendChild(classUnderTestElement);

    for (Argument constructorArgument : constructorArguments) {
      Element constructorArgumentElement = new Element("constructorArgument");
      Element typeElement = new Element("type");
      typeElement.appendChild(constructorArgument.getType());
      Element valueElement = new Element("value");
      valueElement.appendChild(constructorArgument.getValue());
      constructorArgumentElement.appendChild(typeElement);
      constructorArgumentElement.appendChild(valueElement);
      root.appendChild(constructorArgumentElement);
    }

    Element methodUnderTestElement = new Element("methodUnderTest");
    methodUnderTestElement.appendChild(this.getMethodUnderTest());
    root.appendChild(methodUnderTestElement);

    for (Parameter methodParameter : methodParameters) {
      Element methodParameterElement = new Element("methodParameter");
      Element typeElement = new Element("type");
      typeElement.appendChild(methodParameter.getType());
      Element nameElement = new Element("name");
      nameElement.appendChild(methodParameter.getName());
      methodParameterElement.appendChild(typeElement);
      methodParameterElement.appendChild(nameElement);
      root.appendChild(methodParameterElement);
    }

    Element isStaticMethodElement = new Element("isStaticMethod");
    isStaticMethodElement.appendChild("" + this.isStaticMethod());
    root.appendChild(isStaticMethodElement);

    if (this.isSingleton()) {
      Element singletonMethodElement = new Element("singletonMethod");
      singletonMethodElement.appendChild(this.getSingletonMethod());
      root.appendChild(singletonMethodElement);
    }

    if (this.hasCheckStateMethod()) {
      Element checkStateMethodElement = new Element("checkStateMethod");
      checkStateMethodElement.appendChild(this.getCheckStateMethod());
      root.appendChild(checkStateMethodElement);
    }

    Element returnTypeElement = new Element("returnType");
    returnTypeElement.appendChild(this.getReturnType());
    root.appendChild(returnTypeElement);

    if (this.hasDelta()) {
      Element deltaElement = new Element("delta");
      deltaElement.appendChild("" + this.getDelta());
      root.appendChild(deltaElement);
    }

    Document doc = new Document(root);
    return doc.toXML();
  }
Esempio n. 15
0
 public String getArgumentValue(String name) {
   Argument arg = getArgument(name);
   if (arg == null) return "";
   return arg.getValue();
 }
Esempio n. 16
-1
  public boolean actionControlReceived(Action action) {
    String actionName = action.getName();

    boolean ret = false;

    if (actionName.equals("GetPower") == true) {
      String state = getPowerState();
      Argument powerArg = action.getArgument("Power");
      powerArg.setValue(state);
      ret = true;
    }
    if (actionName.equals("SetPower") == true) {
      Argument powerArg = action.getArgument("Power");
      String state = powerArg.getValue();
      setPowerState(state);
      state = getPowerState();
      Argument resultArg = action.getArgument("Result");
      resultArg.setValue(state);
      ret = true;
    }

    comp.repaint();

    return ret;
  }