@Override public AssociatedItemVO<Integer, Integer> convertTypedAssociatedItemVO(Integer tenantId, AssociatedItemVO<Integer, String> typedAssociatedItem) { if (typedAssociatedItem == null) { return null; } return new AssociatedItemVO<Integer, Integer>( convertTypedItemVO(tenantId, typedAssociatedItem.getItem()), typedAssociatedItem.getAssocValue(), typedAssociatedItem.getItemAssocId(), assocTypeDAO.getIdOfType(tenantId, typedAssociatedItem.getAssocType())); }
public AssociatedItemVO(ItemVO<I,T> item, Double assocValue, Integer itemAssocId, T assocType) { this.setItem(item); this.setAssocValue(assocValue); this.setItemAssocId(itemAssocId); this.setAssocType(assocType); }
.get(itemAssoc.getItem().getItem()); double similarity = itemAssoc.getAssocValue();
public ItemVO<Integer, Integer> apply( AssociatedItemVO<Integer, Integer> input) { return input.getItem(); } });
@Override public String toString() { StringBuilder s = new StringBuilder(getClass().getSimpleName()); s.append('@'); s.append(Integer.toHexString(hashCode())); s.append("[item="); s.append(getItem()); s.append(",assocValue="); s.append(assocValue); s.append(",itemAssocId="); s.append(itemAssocId); s.append(",assocType="); s.append(assocType); s.append("]"); return s.toString(); }
public AssociatedItemVO<Integer, Integer> mapRow(ResultSet rs, int rowNum) throws SQLException { AssociatedItemVO<Integer, Integer> associatedItem = new AssociatedItemVO<Integer, Integer>( new ItemVO<Integer, Integer>(DaoUtils.getInteger(rs, DEFAULT_TENANT_COLUMN_NAME), DaoUtils.getInteger(rs, DEFAULT_ITEM_FROM_COLUMN_NAME), DaoUtils.getInteger(rs, DEFAULT_ITEM_FROM_TYPE_COLUMN_NAME)), DaoUtils.getDouble(rs, DEFAULT_ASSOC_VALUE_COLUMN_NAME), DaoUtils.getInteger(rs, DEFAULT_ID_COLUMN_NAME), DaoUtils.getInteger(rs, DEFAULT_ASSOC_TYPE_COLUMN_NAME)); return associatedItem; } }
public ItemVO<Integer, Integer> apply( AssociatedItemVO<Integer, Integer> input) { return input.getItem(); } });
public AssociatedItemVO<Integer, Integer> mapRow(ResultSet rs, int rowNum) throws SQLException { AssociatedItemVO<Integer, Integer> associatedItem = new AssociatedItemVO<Integer, Integer>( new ItemVO<Integer, Integer>(DaoUtils.getInteger(rs, DEFAULT_TENANT_COLUMN_NAME), DaoUtils.getInteger(rs, DEFAULT_ITEM_TO_COLUMN_NAME), DaoUtils.getInteger(rs, DEFAULT_ITEM_TO_TYPE_COLUMN_NAME)), DaoUtils.getDouble(rs, DEFAULT_ASSOC_VALUE_COLUMN_NAME), DaoUtils.getInteger(rs, DEFAULT_ID_COLUMN_NAME), DaoUtils.getInteger(rs, DEFAULT_ASSOC_TYPE_COLUMN_NAME)); return associatedItem; } }
@Override public AssociatedItemVO<Integer, String> convertAssociatedItemVO(Integer tenantId, AssociatedItemVO<Integer, Integer> associatedItem) { if (associatedItem == null) { return null; } return new AssociatedItemVO<Integer, String>( convertItemVO(tenantId, associatedItem.getItem()), associatedItem.getAssocValue(), associatedItem.getItemAssocId(), assocTypeDAO.getTypeById(tenantId, associatedItem.getAssocType())); }
private int addIfNewAndCountAdditions( Set<ItemVO> itemsAlreadySeen, List<AssociatedItemVO<Integer, Integer>> retList, List<AssociatedItemVO<Integer, Integer>> clusterList, int maxNum) { int addCount = 0; for (AssociatedItemVO<Integer, Integer> assocItem: clusterList){ if (addCount >= maxNum) break; if (itemsAlreadySeen.contains(assocItem.getItem())) continue; itemsAlreadySeen.add(assocItem.getItem()); retList.add(assocItem); addCount++; } return addCount; }
private List<RecommendedItemVO<Integer, Integer>> convertAssociatedItems( List<AssociatedItemVO<Integer, Integer>> associatedItems, ItemVO<Integer, Integer> currentItem) { List<RecommendedItemVO<Integer, Integer>> recommendedItems = new ArrayList<RecommendedItemVO<Integer, Integer>>(); for (AssociatedItemVO<Integer, Integer> currentAssociatedItem : associatedItems) { StringBuilder explanation = new StringBuilder(EXPLANATION_RELATED_1); explanation.append(currentItem.getItem()); explanation.append(EXPLANATION_RELATED_2); explanation.append(currentAssociatedItem.getAssocType()); explanation.append("'"); recommendedItems.add(new RecommendedItemVO<Integer, Integer>(currentAssociatedItem.getItem(), currentAssociatedItem.getAssocValue(), currentAssociatedItem.getItemAssocId(), explanation.toString())); } return recommendedItems; }