@SuppressWarnings("rawtypes")
 private List<String> getDataEnums(PackageItem pkg) {
   Iterator it = pkg.listAssetsByFormat(new String[] {AssetFormats.ENUMERATION});
   List<String> list = new ArrayList<String>();
   while (it.hasNext()) {
     AssetItem item = (AssetItem) it.next();
     list.add(item.getContent());
   }
   return list;
 }
示例#2
0
  private void addDRLRulesToVerifier() {

    AssetItemIterator rules = packageItem.listAssetsByFormat(AssetFormats.DRL);

    while (rules.hasNext()) {
      AssetItem rule = rules.next();

      ContentHandler contentHandler = ContentManager.getHandler(rule.getFormat());
      if (contentHandler.isRuleAsset()) {
        IRuleAsset ruleAsset = (IRuleAsset) contentHandler;
        String drl = ruleAsset.getRawDRL(rule);
        verifier.addResourcesToVerify(
            ResourceFactory.newReaderResource(new StringReader(drl)), ResourceType.DRL);
      }
    }
  }
  public SuggestionCompletionEngine getSuggestionEngine(
      PackageItem packageItem, String droolsHeader) {

    StringBuilder buf = new StringBuilder();
    AssetItemIterator it = packageItem.listAssetsByFormat(new String[] {AssetFormats.DRL_MODEL});
    while (it.hasNext()) {
      AssetItem as = it.next();
      buf.append(as.getContent());
      buf.append('\n');
    }

    ClassLoaderBuilder classLoaderBuilder =
        new ClassLoaderBuilder(
            packageItem.listAssetsWithVersionsSpecifiedByDependenciesByFormat(AssetFormats.MODEL));

    //        String packageName = packageItem.getName();
    //        return super.getSuggestionEngine("package " + packageName + "\n\n" + droolsHeader +
    // "\n" + buf.toString(),
    return super.getSuggestionEngine(
        droolsHeader + "\n" + buf.toString(),
        classLoaderBuilder.getJarInputStreams(),
        getDSLMappingFiles(packageItem),
        getDataEnums(packageItem));
  }
示例#4
0
  public AnalysisReport verify(PackageItem packageItem, ScopesAgendaFilter scopesAgendaFilter) {
    this.packageItem = packageItem;

    addHeaderToVerifier();

    addToVerifier(
        packageItem.listAssetsByFormat(new String[] {AssetFormats.DSL}), ResourceType.DSL);

    // TODO: Model JARS

    addToVerifier(
        packageItem.listAssetsByFormat(new String[] {AssetFormats.DRL_MODEL}), ResourceType.DRL);

    addToVerifier(
        packageItem.listAssetsByFormat(new String[] {AssetFormats.FUNCTION}), ResourceType.DRL);

    addToVerifier(
        packageItem.listAssetsByFormat(new String[] {AssetFormats.DSL_TEMPLATE_RULE}),
        ResourceType.DSLR);

    addToVerifier(
        packageItem.listAssetsByFormat(new String[] {AssetFormats.DECISION_SPREADSHEET_XLS}),
        ResourceType.DTABLE);

    addGuidedDecisionTablesToVerifier();

    addDRLRulesToVerifier();

    addToVerifier(
        packageItem.listAssetsByFormat(new String[] {AssetFormats.BUSINESS_RULE}),
        ResourceType.BRL);

    fireAnalysis(scopesAgendaFilter);

    VerifierReport report = verifier.getResult();

    return VerifierReportCreator.doReport(report);
  }