Package org.drools.analytics.dao

Examples of org.drools.analytics.dao.AnalyticsData


import org.drools.analytics.dao.AnalyticsDataFactory;

public class ComponentsReportModeller {

  public static void writeHTML(String path, AnalysisResult result) {
    AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();

    // Source folder
    File sourceFolder = new File(path + UrlFactory.SOURCE_FOLDER);
    sourceFolder.mkdir();

    // Base files
    // index.htm
    writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
        + UrlFactory.HTML_FILE_INDEX, ComponentsReportVisitor
        .visitObjectTypeCollection(data.getAllClasses()));
    // packages.htm
    writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
        + UrlFactory.HTML_FILE_PACKAGES, ComponentsReportVisitor
        .visitRulePackageCollection(data.getAllRulePackages()));

    // rules
    String ruleFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
        + UrlFactory.RULE_FOLDER;
    File rulesFolder = new File(ruleFolder);
    rulesFolder.mkdir();
    for (AnalyticsRule rule : data.getAllRules()) {
      writeToFile(ruleFolder + File.separator + rule.getId() + ".htm",
          ComponentsReportVisitor.visitRule(rule));
    }

    // ObjectTypes
    String objectTypeFolder = path + UrlFactory.SOURCE_FOLDER
        + File.separator + UrlFactory.OBJECT_TYPE_FOLDER;
    File objectTypesFolder = new File(objectTypeFolder);
    objectTypesFolder.mkdir();
    for (AnalyticsClass objectType : data.getAllClasses()) {
      writeToFile(objectTypeFolder + File.separator + objectType.getId()
          + ".htm", ComponentsReportVisitor
          .visitObjectType(objectType));
    }

    // Fields
    String fieldFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
        + UrlFactory.FIELD_FOLDER;
    File fieldsFolder = new File(fieldFolder);
    fieldsFolder.mkdir();
    for (Field field : data.getAllFields()) {
      writeToFile(fieldFolder + File.separator + field.getId() + ".htm",
          ComponentsReportVisitor.visitField(field));
    }

    // Gap warnings
    Collection<RangeCheckCause> rangeCheckCauses = data
        .getRangeCheckCauses();
    writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
        + UrlFactory.HTML_FILE_GAPS, MissingRangesReportVisitor
        .visitRangeCheckCauseCollection(rangeCheckCauses));
View Full Code Here


  private Constraint currentConstraint = null;
  private AnalyticsClass currentClass = null;
  private Field currentField = null;

  public void insert(PackageDescr packageDescr) {
    AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
    RulePackage rulePackage = data.getRulePackageByName(packageDescr
        .getName());

    if (rulePackage == null) {
      rulePackage = new RulePackage();

      rulePackage.setName(packageDescr.getName());
      data.save(rulePackage);
    }

    currentPackage = rulePackage;

    flatten(packageDescr.getRules());
View Full Code Here

  private void flatten(PackageDescr descr) {
    flatten(descr.getRules());
  }

  private void flatten(RuleDescr descr) {
    AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();

    AnalyticsRule rule = new AnalyticsRule();
    rule.setRuleName(descr.getName());
    rule.setRuleSalience(descr.getSalience());
    rule.setConsequence(descr.getConsequence().toString());
    rule.setLineNumber(descr.getLine());
    rule.setPackageId(currentPackage.getId());

    data.save(rule);

    currentPackage.getRules().add(rule);
    currentRule = rule;

    solvers.startRuleSolver(rule);
View Full Code Here

    flatten(descr.getDescrs());
    solvers.endOperator();
  }

  private int flatten(PatternDescr descr) {
    AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();

    AnalyticsClass clazz = data.getClassByPackageAndName(descr.getObjectType());
    if (clazz == null) {
      clazz = new AnalyticsClass();
      clazz.setName(descr.getObjectType());
      data.save(clazz);
    }
    currentClass = clazz;

    Pattern pattern = new Pattern();
    pattern.setRuleId(currentRule.getId());
    pattern.setRuleName(currentRule.getRuleName());
    pattern.setClassId(clazz.getId());
    pattern.setPatternNot(solvers.getRuleSolver().isChildNot());
    pattern.setPatternExists(solvers.getRuleSolver().isExists());
    pattern.setPatternForall(solvers.getRuleSolver().isForall());

    data.save(pattern);
    currentPattern = pattern;

    if (descr.getIdentifier() != null) {
      Variable variable = new Variable();
      variable.setRuleId(currentRule.getId());
      variable.setName(descr.getIdentifier());

      variable.setObjectType(AnalyticsComponentType.CLASS);
      variable.setObjectId(clazz.getId());
      variable.setObjectName(descr.getObjectType());

      data.save(variable);
    }

    // flatten source.
    if (descr.getSource() != null) {
      AnalyticsComponent source = flatten(descr.getSource());
View Full Code Here

    return pattern.getId();
  }

  private void flatten(FieldConstraintDescr descr) {
    AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();

    Field field = data.getFieldByClassAndFieldName(currentClass.getName(),
        descr.getFieldName());
    if (field == null) {
      field = createField(descr.getFieldName(), descr.getLine(),
          currentClass.getId(), currentClass.getName());
      data.save(field);
    }
    currentField = field;

    Constraint constraint = new Constraint();

    constraint.setRuleId(currentRule.getId());
    constraint.setFieldId(currentField.getId());
    constraint.setPatternId(currentPattern.getId());
    constraint.setPatternIsNot(currentPattern.isPatternNot());
    constraint.setFieldId(field.getId());

    data.save(constraint);

    currentConstraint = constraint;

    flatten(descr.getRestriction());
  }
View Full Code Here

   * End
   *
   * @param descr
   */
  private void flatten(FieldBindingDescr descr) {
    AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();

    Variable variable = new Variable();
    variable.setRuleId(currentRule.getId());
    variable.setName(descr.getIdentifier());

    variable.setObjectType(AnalyticsComponentType.FIELD);

    data.save(variable);
  }
View Full Code Here

   * $bar is a VariableRestrictionDescr
   *
   * @param descr
   */
  private void flatten(VariableRestrictionDescr descr) {
    AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();

    Variable variable = data.getVariableByRuleAndVariableName(currentRule
        .getRuleName(), descr.getIdentifier());
    VariableRestriction restriction = new VariableRestriction();

    restriction.setRuleId(currentRule.getId());
    restriction.setRuleName(currentRule.getRuleName());
    restriction.setPatternId(currentPattern.getId());
    restriction.setPatternIsNot(currentPattern.isPatternNot());
    restriction.setConstraintId(currentConstraint.getId());
    restriction.setFieldId(currentConstraint.getFieldId());
    restriction.setEvaluator(descr.getEvaluator());
    restriction.setVariableId(variable.getId());
    restriction.setVariableName(descr.getIdentifier());

    // Set field value, if it is unset.
    currentField.setFieldType(Field.FieldType.VARIABLE);

    data.save(restriction);
    solvers.addRestriction(restriction);
  }
View Full Code Here

   * End
   *
   * @param descr
   */
  private void flatten(ReturnValueRestrictionDescr descr) {
    AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();

    ReturnValueRestriction restriction = new ReturnValueRestriction();

    restriction.setRuleId(currentRule.getId());
    restriction.setRuleName(currentRule.getRuleName());
    restriction.setPatternId(currentPattern.getId());
    restriction.setPatternIsNot(currentPattern.isPatternNot());
    restriction.setConstraintId(currentConstraint.getId());
    restriction.setFieldId(currentConstraint.getFieldId());
    restriction.setEvaluator(descr.getEvaluator());
    restriction.setClassMethodName(descr.getClassMethodName());
    restriction.setContent(descr.getContent());
    restriction.setDeclarations(descr.getDeclarations());

    data.save(restriction);
    solvers.addRestriction(restriction);

  }
View Full Code Here

   * End
   *
   * @param descr
   */
  private void flatten(LiteralRestrictionDescr descr) {
    AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();

    LiteralRestriction restriction = new LiteralRestriction();

    restriction.setRuleId(currentRule.getId());
    restriction.setRuleName(currentRule.getRuleName());
    restriction.setRuleId(currentRule.getId());
    restriction.setPatternId(currentPattern.getId());
    restriction.setPatternIsNot(currentPattern.isPatternNot());
    restriction.setConstraintId(currentConstraint.getId());
    restriction.setFieldId(currentConstraint.getFieldId());
    restriction.setEvaluator(descr.getEvaluator());
    restriction.setValue(descr.getText());

    // Set field value, if it is unset.
    currentField.setFieldType(restriction.getValueType());

    data.save(restriction);
    solvers.addRestriction(restriction);
  }
View Full Code Here

   * End
   *
   * @param descr
   */
  private void flatten(QualifiedIdentifierRestrictionDescr descr) {
    AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();

    String text = descr.getText();
    Variable variable = data.getVariableByRuleAndVariableName(currentRule
        .getRuleName(), text.substring(0, text.indexOf(".")));

    QualifiedIdentifierRestriction restriction = new QualifiedIdentifierRestriction();

    restriction.setRuleId(currentRule.getId());
    restriction.setPatternId(currentPattern.getId());
    restriction.setPatternIsNot(currentPattern.isPatternNot());
    restriction.setConstraintId(currentConstraint.getId());
    restriction.setFieldId(currentConstraint.getFieldId());
    restriction.setEvaluator(descr.getEvaluator());
    restriction.setVariableId(variable.getId());
    restriction.setVariableName(text.substring(0, text.indexOf(".")));
    restriction.setVariablePath(text.substring(text.indexOf(".")));

    // Set field value, if it is unset.
    currentField.setFieldType(Field.FieldType.VARIABLE);

    variable.setObjectType(AnalyticsComponentType.FIELD);

    data.save(restriction);
    solvers.addRestriction(restriction);
  }
View Full Code Here

TOP

Related Classes of org.drools.analytics.dao.AnalyticsData

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.