Examples of XVariableDeclaration


Examples of org.eclipse.xtext.xbase.XVariableDeclaration

   
    // no evaluation context found, so create a new one
      IEvaluationContext evaluationContext = contextProvider.get();
      for(XExpression expr : ruleModel.getVariables()) {
        if (expr instanceof XVariableDeclaration) {
        XVariableDeclaration var = (XVariableDeclaration) expr;
        try {
            Object initialValue = var.getRight()==null ? null : scriptEngine.newScriptFromXExpression(var.getRight()).execute();
          evaluationContext.newValue(QualifiedName.create(var.getName()), initialValue);
        } catch (ScriptExecutionException e) {
          logger.warn("Variable '{}' on rule file '{}' cannot be initialized with value '{}': {}",
              new String[] { var.getName(), ruleModel.eResource().getURI().path(), var.getRight().toString(), e.getMessage() });
        }
      }
      }
      ruleModel.eAdapters().add(new RuleContextAdapter(evaluationContext));
    return evaluationContext;
View Full Code Here

Examples of org.eclipse.xtext.xbase.XVariableDeclaration

    if(resource.getContents().size()>0 && resource.getContents().get(0) instanceof RuleModel) {
      RuleModel ruleModel = (RuleModel) resource.getContents().get(0);
      for(XExpression expr : ruleModel.getVariables()) {
        if (expr instanceof XVariableDeclaration) {
          XVariableDeclaration var = (XVariableDeclaration) expr;
          if(var.getName()!=null && var.getType()!=null) {
            descriptions.add(createLocalVarDescription(var));
          }
        }
      }
    }
View Full Code Here

Examples of org.eclipse.xtext.xbase.XVariableDeclaration

  private Collection<? extends IEObjectDescription> createTriggerSpecificVars(Rule rule) {
    List<IEObjectDescription> descriptions = new ArrayList<IEObjectDescription>();
    Resource varResource = new XtextResource(URI.createURI("event://specific.vars"));
    if(containsCommandTrigger(rule)) {
      JvmTypeReference commandTypeRef = typeReferences.getTypeForName(Command.class, rule);
      XVariableDeclaration varDecl = XbaseFactory.eINSTANCE.createXVariableDeclaration();
      varDecl.setName(RuleContextHelper.VAR_RECEIVED_COMMAND);
      varDecl.setType(commandTypeRef);
      varDecl.setWriteable(false);
      varResource.getContents().add(varDecl);
      descriptions.add(new LocalVarDescription(QualifiedName.create(varDecl.getName()), varDecl));
    }
    if(containsStateChangeTrigger(rule)) {
      JvmTypeReference stateTypeRef = typeReferences.getTypeForName(State.class, rule);
      XVariableDeclaration varDecl = XbaseFactory.eINSTANCE.createXVariableDeclaration();
      varDecl.setName(RuleContextHelper.VAR_PREVIOUS_STATE);
      varDecl.setType(stateTypeRef);
      varDecl.setWriteable(false);
      varResource.getContents().add(varDecl);
      descriptions.add(new LocalVarDescription(QualifiedName.create(varDecl.getName()), varDecl));
    }
    return descriptions;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.