Subversion Repositories SmartDukaan

Rev

Rev 43 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 43 Rev 45
Line 2... Line 2...
2
 * 
2
 * 
3
 */
3
 */
4
package in.shop2020.metamodel.util;
4
package in.shop2020.metamodel.util;
5
 
5
 
6
import in.shop2020.metamodel.definitions.BulletDefinition;
6
import in.shop2020.metamodel.definitions.BulletDefinition;
-
 
7
import in.shop2020.metamodel.definitions.Catalog;
7
import in.shop2020.metamodel.definitions.Category;
8
import in.shop2020.metamodel.definitions.Category;
8
import in.shop2020.metamodel.definitions.CategorySlideDefinition;
9
import in.shop2020.metamodel.definitions.CategorySlideDefinition;
9
import in.shop2020.metamodel.definitions.CompositeDefinition;
10
import in.shop2020.metamodel.definitions.CompositeDefinition;
10
import in.shop2020.metamodel.definitions.CompositePartDefinition;
11
import in.shop2020.metamodel.definitions.CompositePartDefinition;
11
import in.shop2020.metamodel.definitions.DatatypeDefinition;
12
import in.shop2020.metamodel.definitions.DatatypeDefinition;
-
 
13
import in.shop2020.metamodel.definitions.DefinitionsContainer;
12
import in.shop2020.metamodel.definitions.EditorialImportance;
14
import in.shop2020.metamodel.definitions.EditorialImportance;
13
import in.shop2020.metamodel.definitions.EnumDefinition;
15
import in.shop2020.metamodel.definitions.EnumDefinition;
14
import in.shop2020.metamodel.definitions.EnumValue;
16
import in.shop2020.metamodel.definitions.EnumValue;
15
import in.shop2020.metamodel.definitions.FeatureDefinition;
17
import in.shop2020.metamodel.definitions.FeatureDefinition;
16
import in.shop2020.metamodel.definitions.SlideDefinition;
18
import in.shop2020.metamodel.definitions.SlideDefinition;
Line 88... Line 90...
88
	public static void main(String[] args) throws Exception {
90
	public static void main(String[] args) throws Exception {
89
		String[] definitionSetNames = new String[] {"units", 
91
		String[] definitionSetNames = new String[] {"units", 
90
				"datatypedefinitions", "featuredefinitions", "slidedefinitions", 
92
				"datatypedefinitions", "featuredefinitions", "slidedefinitions", 
91
				"categories"};
93
				"categories"};
92
		
94
		
93
		String[] commands = new String[] {"show", "import"};
95
		String[] commands = new String[] {"show", "import", "showcategory"};
94
 
96
 
95
		String usage = "Usage: MM ["+ StringUtils.join(commands, "|") +"] ["+ 
97
		String usage = "Usage: MM ["+ StringUtils.join(commands, "|") +"] ["+ 
96
			StringUtils.join(definitionSetNames, "|") +"]";
98
			StringUtils.join(definitionSetNames, "|") + "] {Category ID}";
97
		
99
		
98
		if(args.length < 2) {
100
		if(args.length < 2) {
99
			System.out.println(usage);
101
			System.out.println(usage);
100
			System.exit(-1);
102
			System.exit(-1);
101
		}
103
		}
102
		Utils.info("MM "+ args[0] + " " + args[1]);
104
		Utils.info("MM "+ args[0] + " " + args[1]);
103
		
105
		
104
		String inputCommand = args[0];
106
		String inputCommand = args[0];
105
		String inputDefinitionSet = args[1];
-
 
106
		
107
		
107
		if(!ArrayUtils.contains(commands, inputCommand)) {
108
		if(!ArrayUtils.contains(commands, inputCommand)) {
108
			System.out.println(usage);
109
			System.out.println(usage);
109
			System.exit(-1);
110
			System.exit(-1);
110
		}
111
		}
111
		
112
		
-
 
113
		if(inputCommand.equals("show") || inputCommand.endsWith("import")) {
-
 
114
			String inputDefinitionSet = args[1];
112
		if(!ArrayUtils.contains(definitionSetNames, inputDefinitionSet)) {
115
			if(!ArrayUtils.contains(definitionSetNames, inputDefinitionSet)) {
113
			System.out.println(usage);
116
				System.out.println(usage);
114
			System.exit(-1);
117
				System.exit(-1);
-
 
118
			}
-
 
119
			
-
 
120
			MM mm = new MM(inputDefinitionSet);
-
 
121
			if(inputCommand.equals("import")) {
-
 
122
				mm.importDefinitionSet();
-
 
123
			}
-
 
124
			else if(inputCommand.equals("show")) {
-
 
125
				mm.showDefinitionSet();
-
 
126
			}
115
		}
127
		}
116
		
128
		
-
 
129
		if(inputCommand.equals("showcategory")) {
-
 
130
			String categoryID = args[1];
-
 
131
			long catID = 0;
-
 
132
			try {
117
		MM mm = new MM(inputDefinitionSet);
133
				catID = Long.parseLong(categoryID);
-
 
134
			} 
118
		if(inputCommand.equals("import")) {
135
			catch (NumberFormatException nfe) {
-
 
136
				System.out.println("Invalid category ID");
119
			mm.importDefinitionSet();
137
				System.exit(-1);
120
		}
138
			}
-
 
139
			
121
		else if(inputCommand.equals("show")) {
140
			MM mm = new MM();
122
			mm.showDefinitionSet();
141
			mm.showCategory(catID);
123
		}
142
		}
124
	}
143
	}
125
	
144
	
126
	/**
145
	/**
127
	 * 
146
	 * 
-
 
147
	 */
-
 
148
	public MM() {
-
 
149
	}
-
 
150
	
-
 
151
	/**
-
 
152
	 * 
128
	 * @param definitionSet
153
	 * @param definitionSet
129
	 */
154
	 */
130
	public MM(String definitionSetName) {
155
	public MM(String definitionSetName) {
131
		this.definitionSetName = definitionSetName;
156
		this.definitionSetName = definitionSetName;
132
		this.srcFile = DEFINITIONS_SRC_PATH + this.definitionSetName + ".xml";
157
		this.srcFile = DEFINITIONS_SRC_PATH + this.definitionSetName + ".xml";
133
		this.dbFile = DEFINITIONS_DB_PATH + this.definitionSetName + ".ser";
158
		this.dbFile = DEFINITIONS_DB_PATH + this.definitionSetName + ".ser";
134
	}
159
	}
135
	
160
	
136
	/**
161
	/**
137
	 * 
162
	 * 
-
 
163
	 * @param categoryID
-
 
164
	 * @throws Exception 
-
 
165
	 */
-
 
166
	public void showCategory(long categoryID) throws Exception {
-
 
167
		DefinitionsContainer defs = 
-
 
168
			Catalog.getInstance().getDefinitionsContainer();
-
 
169
		
-
 
170
		ExpandedCategory expCategory = defs.getExpandedCategory(categoryID);
-
 
171
		
-
 
172
		Utils.info(expCategory);
-
 
173
	}
-
 
174
	
-
 
175
	/**
-
 
176
	 * 
138
	 */
177
	 */
139
	@SuppressWarnings("unchecked")
178
	@SuppressWarnings("unchecked")
140
	public void importDefinitionSet() throws Exception {
179
	public void importDefinitionSet() throws Exception {
141
		DefinitionType defType = this.unmarshallSrcFile(this.srcFile);
180
		DefinitionType defType = this.unmarshallSrcFile(this.srcFile);
142
		Object objectToStore = null;
181
		Object objectToStore = null;