コード例 #1
0
ファイル: CFAlgorithm.java プロジェクト: pk359/seldon-server
  public String toString() {
    StringBuilder buf = new StringBuilder();

    if (this.recTag != null) buf.append(" RecTag:").append(recTag);
    else buf.append(" RecTag:").append("DEFAULT");

    int count = 1;
    for (CF_RECOMMENDER recommender : recommenders)
      buf.append(" Recommender").append(count++).append(":").append(recommender.name());

    count = 1;
    for (CF_SORTER sorter : sorters)
      buf.append(" Sorter").append(count++).append(":").append(sorter.name());

    count = 1;
    for (CF_ITEM_COMPARATOR comparator : itemComparators)
      buf.append(" Item Comparator").append(count++).append(":").append(comparator.name());
    return buf.toString();
  }
コード例 #2
0
ファイル: CFAlgorithm.java プロジェクト: pk359/seldon-server
 public void setParameter(String field, List<String> values) {
   try {
     // check if it's a multiple value
     if (values != null && !values.isEmpty()) {
       String value = values.iterator().next();
       if ("item_comparators".equals(field)) {
         List<CF_ITEM_COMPARATOR> list = new ArrayList<>();
         for (String val : values) {
           list.add(CF_ITEM_COMPARATOR.valueOf(val));
         }
         setItemComparators(list);
       } else if ("item_comparator_strategy".equals(field)) {
         setItemComparatorStrategy(CF_STRATEGY.valueOf(value));
       } else if ("recommenders".equals(field)) {
         List<CF_RECOMMENDER> list = new ArrayList<>();
         for (String val : values) {
           list.add(CF_RECOMMENDER.valueOf(val));
         }
         setRecommenders(list);
       } else if ("sorters".equals(field)) {
         List<CF_SORTER> list = new ArrayList<>();
         for (String val : values) {
           list.add(CF_SORTER.valueOf(val));
         }
         setSorters(list);
       } else if ("sorter_strategy".equals(field)) {
         setSorterStrategy(CF_STRATEGY.valueOf(value));
       } else if ("long_term_cluster_weight".equals(field)) {
         this.setLongTermWeight(Double.parseDouble(value));
       } else if ("short_term_cluster_weight".equals(field)) {
         this.setShortTermWeight(Double.parseDouble(value));
       } else if ("recent_articles_sv".equals(field)) {
         this.setRecentArticlesForSV(Integer.parseInt(value));
       } else if ("tx_history_sv".equals(field)) {
         this.setTxHistorySizeForSV(Integer.parseInt(value));
       } else if ("tag_attr_id".equals(field)) {
         this.setTagAttrId(Integer.parseInt(value));
       } else if ("sv_prefix".equals(field)) {
         this.setSvPrefix(value);
       } else if ("num_recent_actions".equals(field)) {
         this.setNumRecentActions(Integer.parseInt(value));
       } else {
         final String message = "Field : " + field + " not recognized";
         logger.error(message, new Exception(message));
       }
     }
   } catch (Exception e) {
     logger.error("Not able to process the field : " + field + " with value: " + values, e);
   }
 }