Package org.dmd.dmc.rules

Examples of org.dmd.dmc.rules.SourceInfo


        ResultException ex = new ResultException();
        ex.addError(e.getMessage());
        ex.result.lastResult().moreMessages(DebugInfo.extractTheStack(e));
        throw(ex);
      } catch(DmcRuleExceptionSet e){
        e.source(new SourceInfo(srcFile, lineNumber + ""));
        throw(e);
      }
         
            if (cd.getObjectName().getNameString().compareTo("SchemaDefinition") == 0)
                isSchema = true;
View Full Code Here


      collection.addRule(rule);
    }
  }
 
  SourceInfo getSource(DmcUncheckedObject uco){
    SourceInfo rc = null;
   
    String file = uco.getSV(MetaDMSAG.__file.name);
    String line = uco.getSV(MetaDMSAG.__lineNumber.name);
   
    rc = new SourceInfo(file, line);
   
    return(rc);
  }
View Full Code Here

          while(ucoIT.hasNext()){
            DmcUncheckedObject   uco = ucoIT.next();
            ClassDefinition   ruleDataCD   = sm.cdef(uco.getConstructionClass());
            RuleDefinition    ruleDEF    = ruleDataCD.getRuleDefinition();
            RuleDataDMO     ruledata  = null;
            SourceInfo      source    = getSource(uco);
           
            try{
              ruledata = (RuleDataDMO) dmofactory.createObject(uco);
//              DebugInfo.debug("Parsed and instantiated:\n\n" + ruledata.toOIF());
            }
            catch(ClassNotFoundException cnf){
              // This may be thrown from TypeDefinition when trying to instantiate a
              // holder for an attribute. This would likely result from not having
              // the compiled output of a previous code generation run specified on
              // the class path for the dmogen call that's checking the rules
              StringBuffer sb = new StringBuffer();
              sb.append(cnf.getMessage() + "\n\n");
              sb.append("You probably need to augment the following classpath:\n");
              ClassLoader cl = ClassLoader.getSystemClassLoader();
                  URL[] urls = ((URLClassLoader)cl).getURLs();
                  for(URL url: urls){
                    sb.append(url.getFile() + "\n");
                  }
                  sb.append("\nwith the classpath info for the missing class.");

              DmcRuleException ex = new DmcRuleException(sb.toString(), null);
              ex.source(source);
             
              if (rc == null)
                rc = new DmcRuleExceptionSet();
              rc.add(ex);
             
              // This is a show stopper, so just fire it now.
              throw(rc);
            }
            catch(DmcValueException dve){
              // If a value for an attribute doesn't pass the basic tests, we'll
              // get one of these, just repackage it as a rule exception
              DmcRuleException ex = new DmcRuleException(dve.getMessage(), null);
              ex.source(source);

              if (rc == null)
                rc = new DmcRuleExceptionSet();
              rc.add(ex);             
            }
            catch(ResultException rex){
              // If we can't find a class or attribute, we'll get one of these
              DmcRuleException ex = new DmcRuleException(rex.getMessage(), null);
              ex.source(source);

              if (rc == null)
                rc = new DmcRuleExceptionSet();
              rc.add(ex)
             
//              System.err.println(ex.toString());
            }
           
            if (ruledata == null)
              continue;
           
            try{
              ruledata.resolveReferences(sm);
            }
            catch(DmcValueExceptionSet ex){
              System.err.println(ex.toString() + "\nFile: " + ruledata.getFile() + "  Line: " + ruledata.getLineNumber());
            }
             
            try{
              DynamicInitIF rule = (DynamicInitIF) ruleDEF.newRuleInstance();
              rule.setRuleData(ruledata);
             
              allRuleData.add(ruledata);
             
//              addThisRule((RuleIF) rule);
              allRules.add((RuleIF) rule);
            }
            catch(Exception ex){
              System.err.println(ex.toString());
            }
          }
            }
      }
     
      DmcOmni.instance().reset();
      schemas = sm.getSchemas();
      while(schemas.hasNext()){
        SchemaDefinition curr = schemas.next();
        DmcOmni.instance().addCompactSchema(curr.getCompactSchema());
      }
     
      // We add the rules after we've reinitialized the DmcOmni so that we can resolve
      // applyToClass information.
      for(RuleIF rule: allRules)
        addThisRule(rule);
     
      DebugInfo.debug("*** ALL RULE COLLECTIONS ***\n\n" + this.toString());
     
//      DebugInfo.debug("\n\n*** RULE TRACING DISABLED ***\n\n");
      DmcOmni.instance().ruleTracer(new ConsoleRuleTracer());
      DmcOmni.instance().ruleTracing(true);
     
      for(RuleDataDMO rule: allRuleData){
        SourceInfo source = new SourceInfo(rule.getFile(), rule.getLineNumber()+"", rule);
       
//        if (rule.getRuleName().equals("dmtSvNumericRange")){
//          DebugInfo.debug("HERE");
//        }
       
View Full Code Here

TOP

Related Classes of org.dmd.dmc.rules.SourceInfo

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.