Subversion Repositories SmartDukaan

Rev

Rev 1070 | Rev 1226 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1050 rajveer 1
package in.shop2020.util;
2
 
3
 
4
import java.io.BufferedReader;
5
import java.io.DataInputStream;
6
import java.io.File;
7
import java.io.FileInputStream;
8
import java.io.FileNotFoundException;
9
import java.io.IOException;
10
import java.io.InputStreamReader;
11
import java.util.ArrayList;
12
import java.util.HashMap;
13
import java.util.List;
14
import java.util.Map;
15
 
16
import in.shop2020.metamodel.core.Entity;
17
import in.shop2020.metamodel.core.EntityState;
18
import in.shop2020.metamodel.core.FreeformContent;
19
import in.shop2020.metamodel.core.Media;
20
import in.shop2020.metamodel.core.Slide;
1070 chandransh 21
//import in.shop2020.metamodel.definitions.OldEntityContainer;
1050 rajveer 22
import in.shop2020.metamodel.util.CreationUtils;
23
import in.shop2020.metamodel.util.ExpandedBullet;
1070 chandransh 24
//import in.shop2020.metamodel.util.OldCreationUtils;
1050 rajveer 25
import in.shop2020.storage.bdb.StorageManager;
26
 
27
 
28
/*
29
 * @author rajveer 
30
 * 
31
 *
32
 */
33
 
34
public class ContentMigratorToBDB {
35
	private String sourceDbPath;
36
	private String destinationDbPath;
37
 
38
	public static void main(String[] args) throws Exception {
39
		String usage = "Usage: ContentMigrator {source db path}{destination db path}";
40
 
41
		String sourceDbPath = null, destinationDbPath = null;
42
		if(args.length < 2) {
43
			System.out.println(usage);
44
			System.exit(-1);
45
		}else{
46
			sourceDbPath = args[0];
47
			destinationDbPath = args[1];
48
		}
49
 
50
 
1153 rajveer 51
		//StorageManager.getStorageManager().close();
52
 
1050 rajveer 53
		ContentMigratorToBDB contentmigrator = new ContentMigratorToBDB(sourceDbPath, destinationDbPath);
54
		//boolean result = contentmigrator.addMedia();
1069 rajveer 55
		//boolean result = contentmigrator.addLearnedFields();
1055 rajveer 56
		//boolean result = contentmigrator.migrate();
57
		//System.out.println("Content migration status:  "+ result);
1153 rajveer 58
 
59
		boolean result = contentmigrator.migrateEntityState();
1050 rajveer 60
	}
61
 
62
	public ContentMigratorToBDB(String sourceDbPath, String destinationDbPath) {
63
		this.sourceDbPath = sourceDbPath;
64
		this.destinationDbPath = destinationDbPath;
65
	}
1069 rajveer 66
 
1153 rajveer 67
	public boolean migrateEntityState() throws Exception{
68
		Map<Long, Entity> entities =  CreationUtils.getEntities();
69
		for(Long entityId: entities.keySet()){
70
			Entity entity = entities.get(entityId);
71
			EntityState oldState = CreationUtils.getEntityState(entityId);
72
			EntityState newState = new EntityState(oldState.getID(), entity.getCategoryID(), oldState.getCreatedBy());
73
 
74
			newState.setBrand(entity.getBrand());
75
			newState.setModelName(entity.getModelName());
76
			newState.setModelNumber(entity.getModelNumber());
77
 
78
			newState.setStatus(oldState.getStatus());
79
			newState.setAssignedBy(oldState.getAssignedBy());
80
			newState.setAssignedTo(oldState.getAssignedTo());
81
			newState.setAssignedOn(oldState.getAssignedOn());
82
 
83
			newState.setCreatedBy(oldState.getCreatedBy());
84
			newState.setCreatedOn(oldState.getCreatedOn());
85
 
86
			newState.setCompletedOn(oldState.getCompletedOn());
87
			newState.setCompletedBy(oldState.getCompletedBy());
88
 
89
			newState.setMerkedReadyBy(oldState.getMerkedReadyBy());
90
			newState.setMerkedReadyOn(oldState.getMerkedReadyOn());
91
			CreationUtils.updateEntityState(newState);
92
		}
93
		return true;
94
	}
1070 chandransh 95
//	public boolean addLearnedFields() throws Exception{
96
//		OldEntityContainer oldEnts = new OldEntityContainer(sourceDbPath);
97
//		Map<Long, List<ExpandedBullet>> learnedBullets = oldEnts.getLearnedBullets();
98
//		CreationUtils.storeLearnedBullets(learnedBullets);
99
//		return true;
100
//		
101
//	}
102
//	
103
//	public boolean addMedia() throws NumberFormatException, IOException, Exception{
104
//	    FileInputStream fstream = new FileInputStream("/home/rajveer/Desktop/test1");
105
//	    DataInputStream in = new DataInputStream(fstream);
106
//	    BufferedReader br = new BufferedReader(new InputStreamReader(in));
107
//	    String strLine;
108
//	    
109
//	    while ((strLine = br.readLine()) != null)   {
110
//	    	String[] parts  = strLine.split(":");
111
//	    	long entityID = Long.parseLong(parts[0]);
112
//	    	long slideID = Long.parseLong(parts[1]);
113
//	    	Entity entity = StorageManager.getStorageManager().getEntity(entityID);
114
//	    	Map<String, Media> medias =  OldCreationUtils.getRawMedia(entityID);
115
//	    	String imageLabels = parts[2];
116
//	    	String videoLabels = parts[3];
117
//	    	if(!imageLabels.equalsIgnoreCase("null")){
118
//	    		String[] labels = imageLabels.split(",");
119
//	    		for(int i = 0; i < labels.length; i++){
120
//	    			if(medias.containsKey(labels[i])){
121
//	    				Media media = medias.get(labels[i]);
122
//	    				entity.getSlide(slideID).getFreeformContent().addMedia(media);
123
//	    			}
124
//	    		}
125
//	    	}
126
//	    	if(!videoLabels.equalsIgnoreCase("null")){
127
//	    		String[] labels = videoLabels.split(",");
128
//	    		for(int i = 0; i < labels.length; i++){
129
//	    			if(medias.containsKey(labels[i])){
130
//	    				Media media = medias.get(labels[i]);
131
//	    				entity.getSlide(slideID).getFreeformContent().addMedia(media);
132
//	    			}
133
//	    		}
134
//	    	}
135
//	    	StorageManager.getStorageManager().updateEntity(entity);
136
//	    }
137
//	    in.close();
138
//	    return true;
139
//}
1069 rajveer 140
 
1050 rajveer 141
	/**
142
	 * this function will read source definition and source entities, and will convert
143
	 * source entities to destination entities according to destination definitions.  
144
	 * 
145
	 * @return boolean
146
	 * @throws Exception 
147
	 */
1070 chandransh 148
//	public boolean migrate() throws Exception{
149
//		OldEntityContainer sourceEnts = new OldEntityContainer(sourceDbPath);
150
//		
151
//		StringBuilder sb = new StringBuilder();
152
//		Map<Long, Entity> entities = sourceEnts.getEntities();
153
//		for(Long entityId: entities.keySet()){
154
//			Entity entity = OldCreationUtils.getEntity(entityId);
155
//			if(entity.getID() == 0){
156
//				continue;
157
//			}
158
//			Entity newEntity = new Entity(entity.getID(), entity.getCategoryID());
159
//			newEntity.setBrand(entity.getBrand());
160
//			newEntity.setModelName(entity.getModelName());
161
//			newEntity.setModelNumber(entity.getModelNumber());
162
//			
163
//			newEntity.setSlideSequence(OldCreationUtils.getSlideSequence(entity.getID()));
164
//			
165
//			List<Slide> slides = entity.getSlides();
166
//			if(slides!=null){
167
//			for(Slide slide: slides){
168
//				FreeformContent ffc = slide.getFreeformContent();
169
//				//sb.append(entityId+ ":" + slide.getSlideDefinitionID() + ":"+ ffc.getFreeformTexts()+"\n");
170
//				FreeformContent newFfc = new FreeformContent();
171
//				newFfc.setFreeformTexts(ffc.getFreeformTexts());
172
//				slide.setFreeformContent(newFfc);
173
//				//if(ffc.getAllLabels()!=null && !ffc.getAllLabels().isEmpty()){
174
//					//sb.append(entity.getID() + ":" + slide.getSlideDefinitionID() + ":" + ffc.getAllLabels() + "\n");
175
//					//sb.append(entity.getID() + ":" + slide.getSlideDefinitionID() + ":" + ffc.getImageLabels() + ":" + ffc.getYoutubeLabels() + "\n");
176
//					//System.out.println(entity.getID() + ":" + slide.getSlideDefinitionID() + ":" + ffc.getImageLabels() + ":" + ffc.getYoutubeLabels());
177
////					System.out.println("some image found");
178
////					System.out.println(ffc.getImageLabels());
179
////					System.out.println(ffc.getYoutubeLabels());
180
//				//}
181
//				//System.out.println(ffc.getImageLabels());
182
//				//System.out.println(ffc.getYoutubeLabels());
183
//				//FreeformContent newFfc = new FreeformContent();
184
//				//newFfc.setFreeformTexts(ffc.getFreeformTexts());
185
//			}
186
//			}
187
//			newEntity.setSlides(slides);
188
//			EntityState entityMetadata = new EntityState(entityId, "admin");
189
//			StorageManager.getStorageManager().createEntity(newEntity, entityMetadata);
190
//			
191
//			//System.out.println(StorageManager.getStorageManager().getStorageManager().getEntity(entityId).getSlide(130033).getFreeformContent().getFreeformTexts());
192
//			
193
//			//StorageManager.getStorageManager().close();
194
//			//System.out.println("Entity id is" + entity.getID());
195
//		}
196
//		
197
//		StorageManager.getStorageManager().close();
198
//		//System.out.println(sb.toString());
199
//		return true;
200
//	}
1050 rajveer 201
}