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(); }
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); } }