|  | @@ -1,18 +1,22 @@
 | 
	
		
			
				|  |  |  package examples.dataloader;
 | 
	
		
			
				|  |  |  import com.google.common.collect.ArrayListMultimap;
 | 
	
		
			
				|  |  |  import com.google.common.collect.ListMultimap;
 | 
	
		
			
				|  |  | +import com.tzld.piaoquan.recommend.feature.domain.video.base.RequestContextBytesFeature;
 | 
	
		
			
				|  |  | +import com.tzld.piaoquan.recommend.feature.domain.video.base.UserBytesFeature;
 | 
	
		
			
				|  |  | +import com.tzld.piaoquan.recommend.feature.domain.video.base.VideoBytesFeature;
 | 
	
		
			
				|  |  |  import com.tzld.piaoquan.recommend.feature.domain.video.feature.BytesGroup;
 | 
	
		
			
				|  |  |  import com.tzld.piaoquan.recommend.feature.domain.video.feature.BytesUtils;
 | 
	
		
			
				|  |  | -import com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature;
 | 
	
		
			
				|  |  | -import com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +import com.tzld.piaoquan.recommend.feature.model.sample.*;
 | 
	
		
			
				|  |  | +import java.util.ArrayList;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  |  import java.util.Map;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  public class OfflineVlogShareLRFeatureExtractor {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      public ListMultimap<FeatureGroup, BaseFeature> featureMap = ArrayListMultimap.create();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private BytesUtils utils;
 | 
	
		
			
				|  |  | +    final private BytesUtils utils;
 | 
	
		
			
				|  |  | +    final private int groupCount = OfflineVlogFeatureGroup.values().length;
 | 
	
		
			
				|  |  |      public OfflineVlogShareLRFeatureExtractor() {
 | 
	
		
			
				|  |  |          BytesGroup[] groups = new BytesGroup[OfflineVlogFeatureGroup.values().length];
 | 
	
		
			
				|  |  |          OfflineVlogFeatureGroup[] var2 = OfflineVlogFeatureGroup.values();
 | 
	
	
		
			
				|  | @@ -53,4 +57,28 @@ public class OfflineVlogShareLRFeatureExtractor {
 | 
	
		
			
				|  |  |          BaseFeature feature = this.utils.makeFea(group.ordinal(), value);
 | 
	
		
			
				|  |  |          this.featureMap.put(featureGroup, feature);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//    public synchronized LRSamples single(UserBytesFeature userBytesFeature,
 | 
	
		
			
				|  |  | +//                                         VideoBytesFeature videoBytesFeature,
 | 
	
		
			
				|  |  | +//                                         RequestContextBytesFeature requestContextBytesFeature) {
 | 
	
		
			
				|  |  | +//        featureMap.clear();
 | 
	
		
			
				|  |  | +//        // extract features todo zhangbo
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        LRSamples.Builder lr = LRSamples.newBuilder();
 | 
	
		
			
				|  |  | +//        lr.setGroupNum(groupCount);
 | 
	
		
			
				|  |  | +//        List<FeatureGroup> keys = new ArrayList<>(featureMap.keySet());
 | 
	
		
			
				|  |  | +//        int count = 0;
 | 
	
		
			
				|  |  | +//        for(FeatureGroup group : keys) {
 | 
	
		
			
				|  |  | +//            List<BaseFeature> fea = featureMap.get(group);
 | 
	
		
			
				|  |  | +//            GroupedFeature.Builder gf = GroupedFeature.newBuilder();
 | 
	
		
			
				|  |  | +//            gf.setGroup(group);
 | 
	
		
			
				|  |  | +//            gf.setCount(fea.size());
 | 
	
		
			
				|  |  | +//            gf.addAllFeatures(fea);
 | 
	
		
			
				|  |  | +//            count += fea.size();
 | 
	
		
			
				|  |  | +//            lr.addFeatures(gf);
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        lr.setCount(count);
 | 
	
		
			
				|  |  | +//        return lr.build();
 | 
	
		
			
				|  |  | +//    }
 | 
	
		
			
				|  |  |  }
 |