Tabnine Logo
Rules
Code IndexAdd Tabnine to your IDE (free)

How to use
Rules
in
rocks.inspectit.server.diagnosis.engine.rule.factory

Best Java code snippets using rocks.inspectit.server.diagnosis.engine.rule.factory.Rules (Showing top 20 results out of 315)

origin: inspectIT/inspectIT

  /**
   * Internal method to transform classes implementing a rule into {@link RuleDefinition}s.
   *
   * @param ruleClasses
   *            The classes to be transformed.
   * @return Set of {@link RuleDefinition}s.
   * @throws RuleDefinitionException
   *             If any {@link RuleDefinition} is invalid.
   */
  private Set<RuleDefinition> prepareRuleDefinitions(Set<Class<?>> ruleClasses) throws RuleDefinitionException {
    return Rules.define(ruleClasses);
  }
}
origin: inspectIT/inspectIT

ActionMethod actionMethod = describeActionMethod(clazz);
List<ConditionMethod> conditionMethods = describeConditionMethods(clazz);
List<TagInjection> tagInjections = describeTagInjection(clazz);
List<SessionVariableInjection> variableInjections = describeSessionParameterInjections(clazz);
FireCondition fireCondition = describeFireCondition(annotation, tagInjections);
origin: inspectIT/inspectIT

@Test
public void noMatch1() throws RuleDefinitionException, SessionException {
  RuleDefinition ruleC = Rules.define(RuleC.class);
  when(outputStorage.findLatestResultsByTagType(Matchers.<Set<String>> anyObject())).thenReturn(Collections.singleton(Rules.triggerRuleOutput("input")));
  Collection<RuleInput> ruleInputs = session.collectInputs(ruleC, outputStorage);
  assertThat(ruleInputs, empty());
}
origin: inspectIT/inspectIT

/**
 * Executes the Session. Invocation is exclusively possible if {@link Session} is in ACTIVATED
 * state, any other state forces a {@link SessionException}. Processing is enabled inserting a
 * initial RuleOutput to the {@link IRuleOutputStorage} which will act as input to further
 * rules. If processing completes without errors the {@link Session} enters PROCESSED state. In
 * any case of error it enters FAILURE state.
 *
 * @throws Exception
 *             If Session lifecycle is in an invalid state.
 * @return The diagnosis result.
 */
@Override
public R call() throws Exception {
  // Processes and collect results.
  // If a Session is used as Callable this call might horribly fail if sessions are not
  // retrieved from SessionPool and a sessions lifeCycle is neglected. But we have not chance
  // to activate a
  // session internally due to missing input information. So simply fail
  switch (state) {
  case ACTIVATED:
    sessionContext.getStorage().store(Rules.triggerRuleOutput(sessionContext.getInput()));
    doProcess();
    state = State.PROCESSED;
    break;
  default:
    throw new SessionException("Session can not enter process stated from: " + state + " state. Ensure that Session is in ACTIVATED state before processing.");
  }
  return resultCollector.collect(sessionContext);
}
origin: inspectIT/inspectIT

/**
 * Methods transforms all given classes to {@link RuleDefinition}s.
 * <p>
 * Throws: RuleDefinitionException if a class transformation fails.
 *
 * @param classes
 *            The classes to be transformed.
 * @return Set of {@link RuleDefinition}s.
 * @throws RuleDefinitionException
 *             If any {@link RuleDefinition} is invalid.
 */
public static Set<RuleDefinition> define(Class<?>... classes) throws RuleDefinitionException {
  return define(Arrays.asList(checkNotNull(classes, "Rule classes array must not be null!")));
}
origin: inspectIT/inspectIT

/**
 * Methods transforms all given classes to {@link RuleDefinition}s.
 *
 * Throws: RuleDefinitionException if a class transformation fails.
 *
 * @param classes
 *            The classes to be transformed.
 * @return Set of {@link RuleDefinition}s.
 * @throws RuleDefinitionException
 *             If any {@link RuleDefinition} is invalid.
 *
 */
public static Set<RuleDefinition> define(Collection<Class<?>> classes) throws RuleDefinitionException {
  checkArgument(CollectionUtils.isNotEmpty(classes), "Rule classes must not be null or empty!");
  Set<RuleDefinition> ruleSet = Sets.newHashSet();
  for (Class<?> clazz : classes) {
    ruleSet.add(define(clazz));
  }
  return ruleSet;
}
origin: inspectIT/inspectIT

  @Test(expectedExceptions = RuleDefinitionException.class)
  public void testMissingTagValueMethod() throws RuleDefinitionException {
    Rules.define(NoTagValueDefined.class);
  }
}
origin: inspectIT/inspectIT

@Test(expectedExceptions = RuleDefinitionException.class)
public void testWithoutRuleAnnotation() throws RuleDefinitionException {
  Rules.define(MissingAnnotation.class);
}
origin: inspectIT/inspectIT

@Test(expectedExceptions = RuleDefinitionException.class)
public void testMissingActionMethod() throws RuleDefinitionException {
  Rules.define(NoActionMethodDefined.class);
}
origin: inspectIT/inspectIT

@Test(expectedExceptions = RuleDefinitionException.class)
public void testMultipleActionMethods() throws RuleDefinitionException {
  Rules.define(MultipleActionMethodsDefined.class);
}
origin: inspectIT/inspectIT

@Test(expectedExceptions = RuleDefinitionException.class)
public void testInvalidActionMethodReturnType() throws RuleDefinitionException {
  Rules.define(InvalidActionMethodReturnType.class);
}
origin: inspectIT/inspectIT

@Test
public void onlyRuleBMatch() throws RuleDefinitionException {
  RuleDefinition ruleA = Rules.define(RuleA.class);
  RuleDefinition ruleB = Rules.define(RuleB.class);
  RuleDefinition ruleC = Rules.define(RuleC.class);
  Set<RuleDefinition> ruleDefinitions = new HashSet<>(Arrays.asList(ruleA, ruleB, ruleC));
  Set<String> availableTagTypes = new HashSet<>(Arrays.asList(new String[] { "A" }));
  Collection<RuleDefinition> nextRules = session.findNextRules(availableTagTypes, ruleDefinitions);
  assertThat(nextRules, containsInAnyOrder(ruleB));
}
origin: inspectIT/inspectIT

@Test
public void noneMatch() throws RuleDefinitionException {
  RuleDefinition ruleA = Rules.define(RuleA.class);
  RuleDefinition ruleB = Rules.define(RuleB.class);
  RuleDefinition ruleC = Rules.define(RuleC.class);
  Set<RuleDefinition> ruleDefinitions = new HashSet<>(Arrays.asList(ruleA, ruleB, ruleC));
  Set<String> availableTagTypes = new HashSet<>(Arrays.asList(new String[] { "B" }));
  Collection<RuleDefinition> nextRules = session.findNextRules(availableTagTypes, ruleDefinitions);
  assertThat(nextRules, empty());
}
origin: inspectIT/inspectIT

@Test
public void onlyRuleBAndCMatch() throws RuleDefinitionException {
  RuleDefinition ruleA = Rules.define(RuleA.class);
  RuleDefinition ruleB = Rules.define(RuleB.class);
  RuleDefinition ruleC = Rules.define(RuleC.class);
  Set<RuleDefinition> ruleDefinitions = new HashSet<>(Arrays.asList(ruleA, ruleB, ruleC));
  Set<String> availableTagTypes = new HashSet<>(Arrays.asList(new String[] { "A", "B" }));
  Collection<RuleDefinition> nextRules = session.findNextRules(availableTagTypes, ruleDefinitions);
  assertThat(nextRules, containsInAnyOrder(ruleB, ruleC));
}
origin: inspectIT/inspectIT

@Test
public void allRulesMatch() throws RuleDefinitionException {
  Set<RuleDefinition> ruleDefinitions = Rules.define(RuleA.class, RuleB.class, RuleC.class);
  Set<String> availableTagTypes = new HashSet<>(Arrays.asList(Tags.ROOT_TAG, "A", "B"));
  Collection<RuleDefinition> nextRules = session.findNextRules(availableTagTypes, ruleDefinitions);
  assertThat(nextRules, containsInAnyOrder(ruleDefinitions.toArray(new RuleDefinition[0])));
}
origin: inspectIT/inspectIT

@BeforeMethod
public void init() throws RuleDefinitionException {
  rules = Rules.define(RuleA.class, RuleB.class, RuleC.class);
  sessionContext = new SessionContext<>(rules, storage);
}
origin: inspectIT/inspectIT

@Test
public void singleTagTypeSingleInput() throws RuleDefinitionException, SessionException {
  RuleDefinition ruleB = Rules.define(RuleB.class);
  Tag rootTag = Tags.rootTag("input");
  Tag tagA = Tags.tag("A", "input", rootTag);
  RuleOutput outputA = new RuleOutput("RuleA", "A", Collections.<ConditionFailure> emptyList(), Collections.singletonList(tagA));
  when(outputStorage.findLatestResultsByTagType(Matchers.<Set<String>> anyObject())).thenReturn(Collections.singleton(outputA));
  List<RuleInput> ruleInputs = new ArrayList<>(session.collectInputs(ruleB, outputStorage));
  assertThat(ruleInputs, hasSize(1));
  assertThat(ruleInputs.get(0).getRoot(), equalTo(tagA));
}
origin: inspectIT/inspectIT

@Test
public void multipleTagTypesSingleInput() throws RuleDefinitionException, SessionException {
  RuleDefinition ruleC = Rules.define(RuleC.class);
  Tag rootTag = Tags.rootTag("input");
  Tag tagA = Tags.tag("A", "A1", rootTag);
  Tag tagB = Tags.tag("B", "B1", tagA);
  RuleOutput outputB = new RuleOutput("RuleB", "B", Collections.<ConditionFailure> emptyList(), Collections.singletonList(tagB));
  when(outputStorage.findLatestResultsByTagType(Matchers.<Set<String>> anyObject())).thenReturn(Collections.singleton(outputB));
  List<RuleInput> ruleInputs = new ArrayList<>(session.collectInputs(ruleC, outputStorage));
  assertThat(ruleInputs, hasSize(1));
  assertThat(ruleInputs.get(0).getRoot(), equalTo(tagB));
  assertThat(ruleInputs.get(0).getUnraveled(), containsInAnyOrder(tagB, tagA));
}
origin: inspectIT/inspectIT

@Test
public void ruleWithConditionFailure() throws Exception {
  session = new Session<>(Rules.define(RuleA.class, RuleG.class), new DefaultSessionResultCollector<String>());
  String input = "input";
  session.activate(input, Session.EMPTY_SESSION_VARIABLES);
  DefaultSessionResult<String> result = session.call();
  assertThat(session.getState(), equalTo(State.PROCESSED));
  assertThat(result.getConditionFailures().keySet(), containsInAnyOrder("RuleG"));
  assertThat(result.getEndTags().keySet(), hasSize(1));
  assertThat(result.getEndTags().keySet(), containsInAnyOrder("A"));
}
origin: inspectIT/inspectIT

@Test
public void fromActivated() throws Exception {
  session = new Session<>(Rules.define(RuleA.class, RuleB.class, RuleC.class), new DefaultSessionResultCollector<String>());
  String input = "input";
  session.activate(input, Session.EMPTY_SESSION_VARIABLES);
  DefaultSessionResult<String> result = session.call();
  assertThat(session.getState(), equalTo(State.PROCESSED));
  assertThat(result.getConditionFailures().keys(), empty());
  assertThat(result.getEndTags().keySet(), containsInAnyOrder("C"));
  assertThat(result.getEndTags().get("C"), hasSize(1));
  assertThat(((Integer) result.getEndTags().get("C").iterator().next().getValue()), equalTo((input.length() * 2) + 2));
}
rocks.inspectit.server.diagnosis.engine.rule.factoryRules

Javadoc

Utility method to work with rule classes. This class serves as static factory to create RuleDefinitions. So far it is not yet clear if this will stay, or a factory interface will be provided to enable to possibility of replaceable RuleDefinition implementations.

Most used methods

  • define
    Methods transforms all given classes to RuleDefinitions. Throws: RuleDefinitionException if a class
  • triggerRuleOutput
    Creates the faked output of an internal rule to start process of other rules. If we wrap the input t
  • describeActionMethod
    Extracts the Action from the given class by processing the Action annotation.
  • describeConditionMethods
    Extracts the ConditionMethods from the given class by processing the Condition annotation.
  • describeFireCondition
    Utility method to create a FireCondition either from a Rule annotation or from TagInjections. The va
  • describeSessionParameterInjections
    Extracts the SessionVariableInjections from the given class by processing the SessionVariable annota
  • describeTagInjection
    Extracts the TagInjections from the given class by processing the TagInjection annotations.

Popular in Java

  • Updating database using SQL prepared statement
  • scheduleAtFixedRate (Timer)
  • scheduleAtFixedRate (ScheduledExecutorService)
  • setRequestProperty (URLConnection)
  • ConnectException (java.net)
    A ConnectException is thrown if a connection cannot be established to a remote host on a specific po
  • URL (java.net)
    A Uniform Resource Locator that identifies the location of an Internet resource as specified by RFC
  • ResultSet (java.sql)
    An interface for an object which represents a database table entry, returned as the result of the qu
  • Collections (java.util)
    This class consists exclusively of static methods that operate on or return collections. It contains
  • TreeSet (java.util)
    TreeSet is an implementation of SortedSet. All optional operations (adding and removing) are support
  • IsNull (org.hamcrest.core)
    Is the value null?
  • Top plugins for Android Studio
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now