Ejemplo n.º 1
0
 public ClickStreamType getLoginClickStream(HtmlPage page) {
   List<RedirectType> redirectedUrls = tasksDef.getLoginInfo().getRedirectedURL();
   for (RedirectType rt : redirectedUrls) {
     if (rt.getLanding().getFromType() == VarType.XPATH) {
       if (page.getFirstByXPath(rt.getLanding().getValue()) != null) {
         return clickStreamMap.get(rt.getClickstream());
       }
     }
   }
   return null;
 }
Ejemplo n.º 2
0
  public void setUp(TasksType tasks, ClassLoader pluginClassLoader) {
    this.tasksDef = tasks;
    int size = tasks.getCatTask().size();
    assert (size >= 1);
    for (int i = 0; i < size; i++) {
      BrowseCatType bc = tasks.getCatTask().get(i);
      RegExpType ret = bc.getBaseBrowseTask().getIdUrlMapping();
      IdUrlMapping ium = new IdUrlMapping(ret);
      ret = bc.getBaseBrowseTask().getIdUrlMappingFirstPage();
      IdUrlMapping iumFirstPage = null;
      if (ret != null) {
        iumFirstPage = new IdUrlMapping(ret);
      }
      ParsedBrowseCat pbc = new ParsedBrowseCat(ium, iumFirstPage, bc);
      // do not need name, just use index i
      parsedBCMap.put(i + "", pbc);
      logger.info("ium is:" + ium);
      logger.info("iumFirstPage is:" + iumFirstPage);

      if (i == 0) {
        rootBrowseCatTask = bc;
      }
      if (i == size - 1) {
        leafBrowseCatTask = bc;
      }
      allBrowseTasks.put(bc.getBaseBrowseTask().getTaskName(), bc.getBaseBrowseTask());
    }

    List<BrowseDetailType> bptList = tasks.getPrdTask();
    for (int i = 0; i < bptList.size(); i++) {
      BrowseDetailType bpt = bptList.get(i);
      ParsedBrowsePrd pbpt = new ParsedBrowsePrd(bpt);
      if (i == 0) {
        defaultBrowsePrdTask = pbpt;
      }
      if (bpt.getBaseBrowseTask().getTaskName() != null)
        browsePrdTaskMap.put(bpt.getBaseBrowseTask().getTaskName(), pbpt);
      else {
        if (bptList.size() > 1)
          logger.error(
              String.format(
                  "browse prd task name not specified among a list of prd tasks for site: %s",
                  tasks.getStoreId()));
      }
      allBrowseTasks.put(bpt.getBaseBrowseTask().getTaskName(), bpt.getBaseBrowseTask());
    }

    skipUrls = new String[tasks.getSkipUrl().size()];
    tasks.getSkipUrl().toArray(skipUrls);

    if (tasks.getLoginInfo() != null) {
      // setup the click stream map
      List<ClickStreamType> loginClickStreams = tasks.getLoginInfo().getLoginClickStream();
      for (ClickStreamType cst : loginClickStreams) {
        clickStreamMap.put(cst.getName(), cst);
      }
      // setup the login click stream map
      List<RedirectType> redirectedUrls = tasks.getLoginInfo().getRedirectedURL();
      for (RedirectType rt : redirectedUrls) {
        if (rt.getLanding().getFromType() == VarType.URL) {
          landingUrlMap.put(rt.getLanding().getValue(), clickStreamMap.get(rt.getClickstream()));
        }
      }
    }
  }