/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.smartitengineering.user.service.impl.hbase.solr;
import com.smartitengineering.dao.solr.MultivalueMap;
import com.smartitengineering.dao.solr.impl.MultivalueMapImpl;
import com.smartitengineering.user.domain.User;
import com.smartitengineering.user.domain.UserGroup;
import com.smartitengineering.util.bean.adapter.AbstractAdapterHelper;
import java.util.ArrayList;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* @author saumitra
*/
public class UserGroupMultiAdapterHelper extends AbstractAdapterHelper<UserGroup, List<MultivalueMap<String, Object>>> {
public static final String PREFIX = "userGroupUser:";
private static final int PREFIX_INDEX = PREFIX.length();
public static final Logger logger = LoggerFactory.getLogger(UserGroupMultiAdapterHelper.class);
@Override
protected List<MultivalueMap<String, Object>> newTInstance() {
return new ArrayList<MultivalueMap<String, Object>>();
}
@Override
protected void mergeFromF2T(UserGroup fromBean,
List<MultivalueMap<String, Object>> toBean) {
int index = 1;
for (User user : fromBean.getUsers()) {
logger.info("@@%%" + fromBean.getId() + " : index " + index);
MultivalueMap<String, Object> multiValueMap = new MultivalueMapImpl<String, Object>();
multiValueMap.addValue("id", (new StringBuilder(PREFIX).append(fromBean.getId().toString()).append(":").append(
index)).toString());
multiValueMap.addValue("userName", user.getUsername());
multiValueMap.addValue("organizationUniqueShortName", user.getOrganization().getUniqueShortName());
toBean.add(multiValueMap);
index++;
}
}
@Override
protected UserGroup convertFromT2F(List<MultivalueMap<String, Object>> toBean) {
throw new UnsupportedOperationException("Not supported yet.");
}
}