Package org.apache.imperius.spl.core

Examples of org.apache.imperius.spl.core.Argument


      if (arguments.size() != 0) {
        List paramValues = new ArrayList();
        Iterator it = arguments.iterator();
        // Iterate over the passed parameters
        while (it.hasNext()) {
          Argument arg = (Argument) it.next();
          //Add the values of the passed parameters to a list
          paramValues.add(arg.getValue());
        }

        // Convert list to an array
        Object[] arrayOfParameters = paramValues.toArray();
View Full Code Here


    Class[] paramTypeArray = new Class[listSize];
    try {
      Iterator it = inParameterList.iterator();
      // Iterate over the arguments
      while (it.hasNext()) {
        Argument arg = (Argument) it.next();
        TypeInfo tp = arg.getType();
        boolean isArray = arg.getIsArray();
        String referenceName = arg.getReferenceTypeName();

        // convert internal type to java type
        Class c = JavaSPLTypeConstants.convertInternalTypeToJavaType(tp.getType(), isArray, referenceName);

        // Add to array
View Full Code Here

              if(type == TypeConstants.referenceType)
              { 
                referenceTypeName = CIMSPLTypeConstants.getReferenceTypeName(cimparameter.getReferenceClassName());
              }
              Argument arg=new ArgumentImpl(type, parameterName, isArr, referenceTypeName);

              methodArgsSymbolTable.insertVariableSymbol(parameterName, type, referenceTypeName, isArr, false, false);
              //System.out.println(" inserted variable symbol into methodArgsSymbolTable "+parameterName);
              methodArgs.add(arg);
            }
View Full Code Here

          // check if array
          boolean isArray = JavaSPLTypeConstants.getIsArray(javaType);

          // Construct an argument object
          Argument param;
          String paramName = "";
          try {
            param = new ArgumentImpl(internalType, paramName, isArray, referenceTypeName);
            argTypeList.add(param);
          } catch (SPLException e) {
View Full Code Here

        }
       
      boolean typeNotEqual = false;
      for (int i = 0; i < argTypeList.size(); i++) {
        Expression exp = (Expression)pList.get(i);
        Argument arg = (Argument)argTypeList.get(i);
        TypeInfo expDataType = exp.getType();
        TypeInfo argDataType = arg.getType();
//        if (expDataType.getIsArray() != argDataType.getIsArray() ||
//            expDataType.getType() != argDataType.getType()) {
        if (expDataType.getType() != argDataType.getType()) {
          typeNotEqual = true;
          break;
        }
      }
     
      if (typeNotEqual) {
        continue;
      }

      break;
      }
     
    if (methodSym == null) {
      throw new SPLException("actual parameter validation failed: " + methodName + "does not exit");
    }
      // end        
     
        List argTypeList = methodSym.getArgumentList();

        Iterator formalParamTypeIt = argTypeList.iterator();
        Iterator actualParamIt = pList.iterator();

        //Xiping 05/30/09
        //1) argTypeList.size() will be different from pList.size()
        //if there are overloaded methods in an anchor class.
        //
        //2) formalArg.getIsArray() is different from actualParam.isArray()
        //if an argument passed in is of array return type as SPL does not
        //carry return type info correctly except for collection expressions.
        if (true)
        {
            while (formalParamTypeIt.hasNext() && actualParamIt.hasNext())
            {
                Argument formalArg = (Argument) formalParamTypeIt.next();
                Expression actualParam = (Expression) actualParamIt.next();
               
                if (!TypeResolver.isTypeAssignableForEquality(formalArg
                        .getType(), actualParam.getType()))
                {
                    throw new SPLException(
              Messages
                  .getString("SPL_METHOD_PASSED_ARGUMENTS_EXCEPTION_MSG")
View Full Code Here

                       
                    }

                    if (keyValue != null)
                    {
                        Argument arg = new ArgumentImpl(rhsExpression.getType()
                                .getType(), keyName, rhsExpression.isArray(),
                                referenceTypeName);
                        arg.setValue(keyValue);

                        //System.out.println("created new arg :"+keyName+" "+keyValue.toString());
                        /*
                         * Expression expression=(Expression)pList.get(i); String
                         * nameAndValue=(String)expression.evaluate(); Key
                         */
                        parameterObjects.add(arg);
                    }

                }
                else
                {
                    Object result = exp.evaluate();
                    boolean isArgCreated = false;
                    if(argTypeList != null && argTypeList.size() > 0)
                    {
                      Argument tempArg = null;
                      if(i < argTypeList.size())
                      {
                        tempArg = (Argument)argTypeList.get(i);
                        if(TypeResolver.isReference(tempArg.getType()))
                        {
                          if (TypeResolver.OBJECT_STRING.equals(tempArg
                    .getType().getReferenceTypeName())
                    && TypeResolver.isString(exp.getType()))
                          {
                  Argument arg = new ArgumentImpl(tempArg
                      .getType().getType(), null, tempArg
                      .getType().getIsArray(),
                      TypeResolver.OBJECT_STRING);
                  arg.setValue(result);
                  parameterObjects.add(arg);
                  isArgCreated = true;
                }
                        }
                      }
                      else
                      {
                        // throw exception
                      }
                    }
                    if(!isArgCreated)
                    {
                      //Xiping 05/29/09
                      //get isArray flag from the formal argument list if available
                      boolean flag = exp.isArray();
                      if(argTypeList != null && i < argTypeList.size()) {
              flag = ((Argument)argTypeList.get(i)).getType().getIsArray();
            }
//                     
                      Argument arg = new ArgumentImpl(exp.getType().getType(),
//                              null, exp.isArray(), null);
                              null, flag, null);
                      arg.setValue(result);
                      parameterObjects.add(arg);
                    }
                }
            }

View Full Code Here

        }
       
        boolean typeNotEqual = false;
        for (int i = 0; i < aList.size(); i++) {
          Expression exp = (Expression)_paramList.get(i);
          Argument arg = (Argument)aList.get(i);
          TypeInfo expDataType = exp.getType();
          TypeInfo argDataType = arg.getType();
//          if (expDataType.getIsArray() != argDataType.getIsArray() ||
//              expDataType.getType() != argDataType.getType()) {
          if (expDataType.getType() != argDataType.getType()) {
            typeNotEqual = true;
            break;
View Full Code Here

       
        if(type == TypeConstants.referenceType)
        { 
          referenceTypeName = CIMSPLTypeConstants.getReferenceTypeName(cimparameter.getName());
        }
        Argument arg=new ArgumentImpl(type, parameterName, isArray, referenceTypeName);
       
        methodArgsSymbolTable.insertVariableSymbol(parameterName, type, referenceTypeName, isArray, false, false);
        //System.out.println(" inserted variable symbol into methodArgsSymbolTable "+parameterName);
        methodArgs.add(arg);
      }
View Full Code Here

        Iterator it=inParameterValues.iterator();
        Map cimArgNameValuePairs= new HashMap();
        while(it.hasNext())
        {
          Argument arg=(Argument)it.next();
          cimArgNameValuePairs.put(arg.getName(), arg.getValue());
          //System.out.println(" added to cimArgNameValuePairs : "+arg.getName()+ " "+arg.getValue().toString());
        }

        if(instance instanceof CIMObjectPath)
        {
View Full Code Here

  {
        logger.entering(sourceClass,Thread.currentThread().getName()+" "+ "populateArgList");
       
    for(int i=0; i< list.size(); i++)
    {
      Argument e = (Argument)list.get(i);
      TypeInfo argType = e.getType();
      _argList.add(argType);
     
    }
        logger.exiting(sourceClass,Thread.currentThread().getName()+" "+ "populateArgList");
       
View Full Code Here

TOP

Related Classes of org.apache.imperius.spl.core.Argument

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.