示例#1
0
  public void activate() {
    triggerManager = new RuleTriggerManager();

    if (!isEnabled()) {
      logger.info("Rule engine is disabled.");
      return;
    }

    logger.debug("Started rule engine");

    // read all rule files
    Iterable<String> ruleModelNames = modelRepository.getAllModelNamesOfType("rules");
    ArrayList<String> clonedList = Lists.newArrayList(ruleModelNames);
    for (String ruleModelName : clonedList) {
      EObject model = modelRepository.getModel(ruleModelName);
      if (model instanceof RuleModel) {
        RuleModel ruleModel = (RuleModel) model;
        triggerManager.addRuleModel(ruleModel);
      }
    }

    // register us on all items which are already available in the registry
    for (Item item : itemRegistry.getItems()) {
      internalItemAdded(item);
    }
    runStartupRules();
  }
示例#2
0
 public Collection<SitemapBean> getSitemapBeans(URI uri) {
   Collection<SitemapBean> beans = new LinkedList<SitemapBean>();
   logger.debug(
       "Received HTTP GET request at '{}'.", UriBuilder.fromUri(uri).build().toASCIIString());
   ModelRepository modelRepository = RESTApplication.getModelRepository();
   for (String modelName : modelRepository.getAllModelNamesOfType("sitemap")) {
     Sitemap sitemap = (Sitemap) modelRepository.getModel(modelName);
     if (sitemap != null) {
       SitemapBean bean = new SitemapBean();
       bean.name = StringUtils.removeEnd(modelName, SITEMAP_FILEEXT);
       bean.link = UriBuilder.fromUri(uri).path(bean.name).build().toASCIIString();
       bean.homepage = new PageBean();
       bean.homepage.link = bean.link + "/" + sitemap.getName();
       beans.add(bean);
     }
   }
   return beans;
 }