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