Subversion Repositories SmartDukaan

Rev

Rev 1074 | Rev 1949 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1074 Rev 1314
Line 22... Line 22...
22
import in.shop2020.metamodel.jaxb.core.SlideDefinitionType;
22
import in.shop2020.metamodel.jaxb.core.SlideDefinitionType;
23
import in.shop2020.metamodel.jaxb.core.SlideFeatureDefinitionType;
23
import in.shop2020.metamodel.jaxb.core.SlideFeatureDefinitionType;
24
import in.shop2020.metamodel.jaxb.core.UnitType;
24
import in.shop2020.metamodel.jaxb.core.UnitType;
25
import in.shop2020.metamodel.jaxb.facets.CategoryFacetDefinitionType;
25
import in.shop2020.metamodel.jaxb.facets.CategoryFacetDefinitionType;
26
import in.shop2020.metamodel.jaxb.facets.FacetDefinitionType;
26
import in.shop2020.metamodel.jaxb.facets.FacetDefinitionType;
27
import in.shop2020.metamodel.jaxb.facets.FacetRuleDefinitionType;
27
import in.shop2020.metamodel.jaxb.facets.FacetSlideDefinitionType;
28
import in.shop2020.metamodel.jaxb.facets.IRDefinitionType;
28
import in.shop2020.metamodel.jaxb.facets.IRDefinitionType;
29
import in.shop2020.metamodel.jaxb.facets.RuleDefinitionType;
29
import in.shop2020.metamodel.jaxb.facets.RuleDefinitionType;
30
import in.shop2020.metamodel.util.ExpandedCMPSlideRuleDefinition;
30
import in.shop2020.metamodel.util.ExpandedCMPSlideRuleDefinition;
31
import in.shop2020.metamodel.util.ExpandedCategory;
31
import in.shop2020.metamodel.util.ExpandedCategory;
32
import in.shop2020.metamodel.util.ExpandedCategoryFacetDefinition;
32
import in.shop2020.metamodel.util.ExpandedCategoryFacetDefinition;
33
import in.shop2020.metamodel.util.ExpandedFacetDefinition;
-
 
34
import in.shop2020.metamodel.util.ExpandedSlideDefinition;
33
import in.shop2020.metamodel.util.ExpandedSlideDefinition;
35
import in.shop2020.util.Utils;
34
import in.shop2020.util.Utils;
36
 
35
 
37
import java.io.File;
36
import java.io.File;
38
import java.io.FileInputStream;
37
import java.io.FileInputStream;
Line 94... Line 93...
94
	/**
93
	/**
95
	 * Hashtable of Facet Definition ID to FacetDefinition object
94
	 * Hashtable of Facet Definition ID to FacetDefinition object
96
	 */
95
	 */
97
	private Map<Long, FacetDefinition> facetDefinitions;
96
	private Map<Long, FacetDefinition> facetDefinitions;
98
	
97
	
-
 
98
 
-
 
99
	/**
-
 
100
	 * Hashtable of Slide Definition ID to FacetDefinition object
-
 
101
	 */
-
 
102
	private Map<Long, List<FacetDefinition>> slideFacetDefinitions;
-
 
103
 
99
	/**
104
	/**
100
	 * Hashtable of Category Facet Definition ID to CategoryFacetDefinition 
105
	 * Hashtable of Category Facet Definition ID to CategoryFacetDefinition 
101
	 * object
106
	 * object
102
	 */
107
	 */
103
	private Map<Long, CategoryFacetDefinition> categoryFacetDefinitions;
108
	private Map<Long, CategoryFacetDefinition> categoryFacetDefinitions;
Line 229... Line 234...
229
		srcFile = xmlDefinitionsPath+ "facetdefinitions.xml";
234
		srcFile = xmlDefinitionsPath+ "facetdefinitions.xml";
230
		oDefType = this.unmarshallSrcFile(srcFile, "facets");
235
		oDefType = this.unmarshallSrcFile(srcFile, "facets");
231
		irDefType = (IRDefinitionType)oDefType;
236
		irDefType = (IRDefinitionType)oDefType;
232
		this.facetDefinitions = this.convertFacetDefinitions(irDefType);
237
		this.facetDefinitions = this.convertFacetDefinitions(irDefType);
233
		
238
		
-
 
239
		//
-
 
240
		this.populateSlideFacetDefinitions();
-
 
241
		
234
		//category facet definitions
242
		//category facet definitions
235
		srcFile = xmlDefinitionsPath+ "categoryfacetdefinitions.xml";
243
		srcFile = xmlDefinitionsPath+ "categoryfacetdefinitions.xml";
236
		oDefType = this.unmarshallSrcFile(srcFile, "facets");
244
		oDefType = this.unmarshallSrcFile(srcFile, "facets");
237
		irDefType = (IRDefinitionType)oDefType;
245
		irDefType = (IRDefinitionType)oDefType;
238
		this.categoryFacetDefinitions = this.convertCategoryFacetDefinitions(irDefType);
246
		this.categoryFacetDefinitions = this.convertCategoryFacetDefinitions(irDefType);
239
		
247
		
240
 
248
		
241
		//ir data rules
249
		//ir data rules
242
		srcFile = xmlDefinitionsPath+ "irdatarules.xml";
250
		srcFile = xmlDefinitionsPath+ "irdatarules.xml";
243
		oDefType = this.unmarshallSrcFile(srcFile, "facets");
251
		oDefType = this.unmarshallSrcFile(srcFile, "facets");
244
		irDefType = (IRDefinitionType)oDefType;
252
		irDefType = (IRDefinitionType)oDefType;
245
		irDataRuleDefinitions =  this.convertRuleDefinitions(irDefType);
253
		irDataRuleDefinitions =  this.convertRuleDefinitions(irDefType);
Line 456... Line 464...
456
			long id = jaxbFacetDef.getID();
464
			long id = jaxbFacetDef.getID();
457
			String target = jaxbFacetDef.getTarget();
465
			String target = jaxbFacetDef.getTarget();
458
 
466
 
459
			FacetDefinition facetDef = new FacetDefinition(id, target);
467
			FacetDefinition facetDef = new FacetDefinition(id, target);
460
			
468
			
461
			if(jaxbFacetDef.getFeatureDefinitionID() != null) {
-
 
462
				long featureDefID = jaxbFacetDef.getFeatureDefinitionID();
-
 
463
				facetDef.setFeatureDefinitionID(featureDefID);
-
 
464
			}
-
 
465
			
-
 
466
			if(jaxbFacetDef.getSlideDefinitionID() != null) {
-
 
467
				long slideDefID = jaxbFacetDef.getSlideDefinitionID();
469
			List<FacetSlideDefinition> facetSlideDefinitions = convertFacetSlideDefinitions(jaxbFacetDef);
468
				facetDef.setSlideDefinitionID(slideDefID);
-
 
469
			}
-
 
470
			
470
			
471
			long irMetaDataRuleID = jaxbFacetDef.getIRMetaDataRuleID();
-
 
472
			facetDef.setIrMetaDataRuleID(irMetaDataRuleID);
471
			facetDef.setFacetSlideDefinitions(facetSlideDefinitions);
473
			
472
			
474
			facetDef.setDescription(jaxbFacetDef.getDescription());
473
			facetDef.setDescription(jaxbFacetDef.getDescription());
475
			
474
			
476
			idFacetDefs.put(new Long(id), facetDef);
475
			idFacetDefs.put(new Long(id), facetDef);
-
 
476
			
477
		}
477
		}
478
		Utils.info("idFacetDefs=" + idFacetDefs);
478
		Utils.info("idFacetDefs=" + idFacetDefs);
479
		return idFacetDefs;
479
		return idFacetDefs;
480
	}
480
	}
481
	
481
	
-
 
482
	private void populateSlideFacetDefinitions() {
-
 
483
		this.slideFacetDefinitions = new HashMap<Long, List<FacetDefinition>>();
-
 
484
		for(FacetDefinition facetDef: facetDefinitions.values())
-
 
485
			for(FacetSlideDefinition facetSlideDef: facetDef.getFacetSlideDefinitions()){
-
 
486
				List<FacetDefinition> facetDefs = this.slideFacetDefinitions.get(facetSlideDef.getSlideDefinitionID());
-
 
487
				if(facetDefs==null){
-
 
488
					facetDefs = new ArrayList<FacetDefinition>();
-
 
489
				}
-
 
490
				facetDefs.add(facetDef);
-
 
491
				this.slideFacetDefinitions.put(facetSlideDef.getSlideDefinitionID(), facetDefs);
-
 
492
			}
-
 
493
	}
-
 
494
	
-
 
495
	private List<FacetSlideDefinition> convertFacetSlideDefinitions(
-
 
496
			FacetDefinitionType jaxbFacetDef) {
-
 
497
		
-
 
498
			List<FacetSlideDefinition> facetSlideDefinitions = new ArrayList<FacetSlideDefinition>();
-
 
499
			
-
 
500
			for(FacetSlideDefinitionType jaxbFacetSlideDef : jaxbFacetDef.getFacetSlideDefinition()){
-
 
501
				long irDataRuleID = jaxbFacetSlideDef.getIRDataRuleID();
-
 
502
				long irMetaDataRuleID = jaxbFacetSlideDef.getIRMetaDataRuleID();
-
 
503
				long slideDefinitionID = jaxbFacetSlideDef.getSlideDefinitionID();
-
 
504
				FacetSlideDefinition facetSlideDefinition = new FacetSlideDefinition(slideDefinitionID, irMetaDataRuleID, irDataRuleID);
-
 
505
				facetSlideDefinitions.add(facetSlideDefinition);
-
 
506
			}
-
 
507
		return facetSlideDefinitions;
-
 
508
	}
-
 
509
 
482
	/**
510
	/**
483
	 * 
511
	 * 
484
	 * @param defType
512
	 * @param defType
485
	 * @return
513
	 * @return
486
	 * @throws Exception 
514
	 * @throws Exception 
487
	 */
515
	 */
488
	private Map<Long, CategoryFacetDefinition> convertCategoryFacetDefinitions(
516
	private Map<Long, CategoryFacetDefinition> convertCategoryFacetDefinitions(
489
			IRDefinitionType defType) throws Exception {
517
			IRDefinitionType defType) throws Exception {
490
		List<CategoryFacetDefinitionType> jaxbCategoryFacetDefs = 
518
		 List<CategoryFacetDefinitionType> jaxbCategoryFacetDefs = defType.getCategoryFacetDefinition();
491
			defType.getCategoryFacetDefinition();
-
 
492
		
519
		
493
		Map<Long, CategoryFacetDefinition> idCategoryFacetDefs = 
520
		Map<Long, CategoryFacetDefinition> idCategoryFacetDefs = 
494
			new TreeMap<Long, CategoryFacetDefinition>();
521
			new TreeMap<Long, CategoryFacetDefinition>();
495
		
522
		
496
		for(CategoryFacetDefinitionType jaxbCategoryFacetDef : 
523
		for(CategoryFacetDefinitionType jaxbCategoryFacetDef : 
497
			jaxbCategoryFacetDefs) {
524
			jaxbCategoryFacetDefs) {
-
 
525
			
498
			long categoryID = jaxbCategoryFacetDef.getCategoryID();
526
			long categoryID = jaxbCategoryFacetDef.getCategoryID();
499
			
527
			
500
			CategoryFacetDefinition categoryFacetDef = 
528
			CategoryFacetDefinition categoryFacetDef = 
501
				new CategoryFacetDefinition(categoryID);
529
				new CategoryFacetDefinition(categoryID);
502
			
530
			
503
			List<FacetRuleDefinitionType> jaxbFacetRuleDefs = 
-
 
504
					jaxbCategoryFacetDef.getFacetRuleDefinition();
-
 
505
			
531
			
506
			for(FacetRuleDefinitionType jaxbFacetRuleDef : jaxbFacetRuleDefs) {
532
			List<Long> facetIDs = jaxbCategoryFacetDef.getFacetDefinitionID();
507
				
533
			
508
				FacetRuleDefinition facetRuleDef = 
-
 
509
					this.convertFacetRuleDefinition(jaxbFacetRuleDef);
-
 
510
				
534
			
-
 
535
			for(Long facetID : facetIDs) {
511
				categoryFacetDef.addFacetRuleDefinition(facetRuleDef);
536
				categoryFacetDef.addFacetDefinition(facetDefinitions.get(facetID));
512
			}
537
			}
513
			
538
			
514
			idCategoryFacetDefs.put(new Long(categoryID), categoryFacetDef);
539
			idCategoryFacetDefs.put(new Long(categoryID), categoryFacetDef);
515
		}
540
		}
516
		
541
		
Line 527... Line 552...
527
				
552
				
528
				CategoryFacetDefinition parentCategoryFacetDef = 
553
				CategoryFacetDefinition parentCategoryFacetDef = 
529
					idCategoryFacetDefs.get(new Long(parentCategoryID));
554
					idCategoryFacetDefs.get(new Long(parentCategoryID));
530
				
555
				
531
				if(parentCategoryFacetDef != null) {
556
				if(parentCategoryFacetDef != null) {
532
					List<FacetRuleDefinition> parentsFacetRuleDefs = 
557
					List<FacetDefinition> parentsFacetDefs = 
533
						parentCategoryFacetDef.getFacetRuleDefinitions();
558
						parentCategoryFacetDef.getFacetDefinitions();
534
					
559
					
535
					if(parentsFacetRuleDefs != null) {
560
					if(parentsFacetDefs != null) {
536
						CategoryFacetDefinition categoryFacetDef = 
561
						CategoryFacetDefinition categoryFacetDef = 
537
							idCategoryFacetDefs.get(categoryID);
562
							idCategoryFacetDefs.get(categoryID);
538
						
563
						
539
						categoryFacetDef.appendFacetRuleDefinitions(
564
						categoryFacetDef.appendFacetDefinitions(
540
								parentsFacetRuleDefs);
565
								parentsFacetDefs);
541
					}
566
					}
542
				}
567
				}
543
			}
568
			}
544
		}
569
		}
545
		
570
		
546
		Utils.info("idCategoryFacetDefs=" + idCategoryFacetDefs);
571
		Utils.info("idCategoryFacetDefs=" + idCategoryFacetDefs);
547
		return idCategoryFacetDefs;
572
		return idCategoryFacetDefs;
548
	}
573
	}
549
	
574
	
-
 
575
	private FacetDefinition convertFacetDefinition(
-
 
576
			FacetDefinitionType jaxbFacetDef) {
-
 
577
		long facetID = jaxbFacetDef.getID();
-
 
578
		String target = jaxbFacetDef.getTarget();
-
 
579
		FacetDefinition facetDefinition = new FacetDefinition(facetID, target);
-
 
580
		facetDefinition.setDescription(jaxbFacetDef.getDescription());
-
 
581
		facetDefinition.setFacetSlideDefinitions(convertFacetSlideDefinitions(jaxbFacetDef));
-
 
582
		return facetDefinition;
-
 
583
	}
-
 
584
 
-
 
585
	
550
	/**
586
	/**
551
	 * 
587
	 * 
552
	 * @param jaxbFacetRuleDef
588
	 * @param jaxbFacetRuleDef
553
	 * @return
589
	 * @return
554
	 */
590
	 */
-
 
591
	/*
555
	private FacetRuleDefinition convertFacetRuleDefinition(
592
	private FacetRuleDefinition convertFacetRuleDefinition(
556
			FacetRuleDefinitionType jaxbFacetRuleDef) {
593
			FacetRuleDefinitionType jaxbFacetRuleDef) {
557
		long facetDefID = jaxbFacetRuleDef.getFacetDefinitionID();
594
		long facetDefID = jaxbFacetRuleDef.getFacetDefinitionID();
558
		long irDataRuleID = jaxbFacetRuleDef.getIRDataRuleID();
595
		long irDataRuleID = jaxbFacetRuleDef.getIRDataRuleID();
559
		
596
		
Line 572... Line 609...
572
					jaxbFacetRuleDef.getSlideDefinitionID().longValue());
609
					jaxbFacetRuleDef.getSlideDefinitionID().longValue());
573
		}
610
		}
574
		
611
		
575
		return facetRuleDef;
612
		return facetRuleDef;
576
	}
613
	}
-
 
614
*/
577
 
615
 
578
	private void populateEnumValues(){
616
	private void populateEnumValues(){
579
		// RE-VISIT - May not be optimal
617
		// RE-VISIT - May not be optimal
580
		Map<Long, EnumValue> enumValuesMap = new TreeMap<Long, EnumValue>();
618
		Map<Long, EnumValue> enumValuesMap = new TreeMap<Long, EnumValue>();
581
		for(Long datatypeDefID : datatypeDefinitions.keySet()) {
619
		for(Long datatypeDefID : datatypeDefinitions.keySet()) {
Line 1306... Line 1344...
1306
		Iterator<FeatureDefinitionType> itjaxbDefs = jaxbDefs.iterator();
1344
		Iterator<FeatureDefinitionType> itjaxbDefs = jaxbDefs.iterator();
1307
		
1345
		
1308
		// Feature definitions
1346
		// Feature definitions
1309
		while(itjaxbDefs.hasNext()) {
1347
		while(itjaxbDefs.hasNext()) {
1310
			FeatureDefinitionType jaxbDef = itjaxbDefs.next();
1348
			FeatureDefinitionType jaxbDef = itjaxbDefs.next();
-
 
1349
			Utils.info("******"+ jaxbDef.getID());
1311
			
1350
			
1312
			//Utils.info("Feature label=" + jaxbDef.getLabel());
1351
			//Utils.info("Feature label=" + jaxbDef.getLabel());
1313
			FeatureDefinition def = new FeatureDefinition(jaxbDef.getID(),
1352
			FeatureDefinition def = new FeatureDefinition(jaxbDef.getID(),
1314
					jaxbDef.getLabel());
1353
					jaxbDef.getLabel());
1315
			def.setAllowsBlank(jaxbDef.isCanbeBlank());
1354
			def.setAllowsBlank(jaxbDef.isCanbeBlank());
Line 1492... Line 1531...
1492
	public Map<Long, FacetDefinition> getFacetDefinitions(){
1531
	public Map<Long, FacetDefinition> getFacetDefinitions(){
1493
		return this.facetDefinitions;
1532
		return this.facetDefinitions;
1494
	}
1533
	}
1495
	
1534
	
1496
	/**
1535
	/**
-
 
1536
	 * Get List of Facets for a given slide.
-
 
1537
	 * 
-
 
1538
	 * @return
-
 
1539
	 */
-
 
1540
	public Map<Long, List<FacetDefinition>> getSlideFacetDefinitions(){
-
 
1541
		return slideFacetDefinitions;
-
 
1542
	}
-
 
1543
	/**
1497
	 * Resolves Facet Definition ID into FacetDefinition object
1544
	 * Resolves Facet Definition ID into FacetDefinition object
1498
	 * 
1545
	 * 
1499
	 * @param facetDefinitionID
1546
	 * @param facetDefinitionID
1500
	 * @return FacetDefinition
1547
	 * @return FacetDefinition
1501
	 * @throws Exception
1548
	 * @throws Exception
Line 1515... Line 1562...
1515
	 * 
1562
	 * 
1516
	 * @param facetDefinitionID
1563
	 * @param facetDefinitionID
1517
	 * @return ExpandedFacetDefinition
1564
	 * @return ExpandedFacetDefinition
1518
	 * @throws Exception
1565
	 * @throws Exception
1519
	 */
1566
	 */
-
 
1567
	/*
1520
	public ExpandedFacetDefinition getExpandedFacetDefinition(
1568
	public ExpandedFacetDefinition getExpandedFacetDefinition(
1521
			long facetDefinitionID) throws Exception {
1569
			long facetDefinitionID) throws Exception {
1522
		
1570
		
1523
		FacetDefinition facetDefinition = 
1571
		FacetDefinition facetDefinition = 
1524
			this.getFacetDefinition(facetDefinitionID);
1572
			this.getFacetDefinition(facetDefinitionID);
Line 1526... Line 1574...
1526
		ExpandedFacetDefinition expFacetDefinition = 
1574
		ExpandedFacetDefinition expFacetDefinition = 
1527
			new ExpandedFacetDefinition(facetDefinition);
1575
			new ExpandedFacetDefinition(facetDefinition);
1528
		
1576
		
1529
		return expFacetDefinition;
1577
		return expFacetDefinition;
1530
	}
1578
	}
1531
	
1579
	*/
1532
	/**
1580
	/**
1533
	 * Returns all CategoryFacetDefinition objects in the database
1581
	 * Returns all CategoryFacetDefinition objects in the database
1534
	 * 
1582
	 * 
1535
	 * @return Map Null if category facet definitions are not imported into 
1583
	 * @return Map Null if category facet definitions are not imported into 
1536
	 * definitions db (serialized java objects)
1584
	 * definitions db (serialized java objects)
Line 1745... Line 1793...
1745
		
1793
		
1746
		CategoryFacetDefinition categoryFacetDef = 
1794
		CategoryFacetDefinition categoryFacetDef = 
1747
			this.getCategoryFacetDefinition(categoryID);
1795
			this.getCategoryFacetDefinition(categoryID);
1748
		if(categoryFacetDef == null)
1796
		if(categoryFacetDef == null)
1749
			return null;
1797
			return null;
1750
		List<FacetRuleDefinition> facetRuleDefs = 
1798
		List<FacetDefinition> facetDefs = 
1751
			categoryFacetDef.getFacetRuleDefinitions();
1799
			categoryFacetDef.getFacetDefinitions();
1752
		
1800
		
1753
		for(FacetRuleDefinition facetRuleDef : facetRuleDefs) {
1801
		for(FacetDefinition facetDef : facetDefs) {
1754
			facetDefIDs.add(new Long(facetRuleDef.getFacetDefinitionID()));
1802
			facetDefIDs.add(new Long(facetDef.getID()));
1755
		}
1803
		}
1756
		
1804
		
1757
		return facetDefIDs;
1805
		return facetDefIDs;
1758
	}
1806
	}
1759
	
1807
	
Line 1820... Line 1868...
1820
	 * @param borrowedCategoryID
1868
	 * @param borrowedCategoryID
1821
	 * @param slideDefID
1869
	 * @param slideDefID
1822
	 * @return FacetRuleDefinition 
1870
	 * @return FacetRuleDefinition 
1823
	 * @throws Exception 
1871
	 * @throws Exception 
1824
	 */
1872
	 */
-
 
1873
	/*
1825
	public FacetRuleDefinition getFacetRuleDefinitionForSlide(long categoryID,
1874
	public FacetRuleDefinition getFacetRuleDefinitionForSlide(long categoryID,
1826
			long slideDefinitionID) throws Exception {
1875
			long slideDefinitionID) throws Exception {
1827
		CategoryFacetDefinition categoryFacetDef = 
1876
		CategoryFacetDefinition categoryFacetDef = 
1828
			this.getCategoryFacetDefinition(categoryID);
1877
			this.getCategoryFacetDefinition(categoryID);
1829
		//FIXME Quick fix. Need to investigate
1878
		//FIXME Quick fix. Need to investigate
Line 1839... Line 1888...
1839
			}
1888
			}
1840
		}
1889
		}
1841
		
1890
		
1842
		return null;
1891
		return null;
1843
	}
1892
	}
1844
	
1893
	*/
1845
	/**
1894
	/**
1846
	 * Returns Facet-Rule definition object defined for a category and 
1895
	 * Returns Facet-Rule definition object defined for a category and 
1847
	 * feature definition
1896
	 * feature definition
1848
	 * 
1897
	 * 
1849
	 * @param categoryID
1898
	 * @param categoryID
1850
	 * @param featureDefinitionID
1899
	 * @param featureDefinitionID
1851
	 * @return FacetRuleDefinition
1900
	 * @return FacetRuleDefinition
1852
	 * @throws Exception
1901
	 * @throws Exception
1853
	 */
1902
	 */
-
 
1903
	
-
 
1904
/*
1854
	public FacetRuleDefinition getFacetRuleDefinitionForFeature(long categoryID,
1905
	public FacetRuleDefinition getFacetRuleDefinitionForFeature(long categoryID,
1855
			long featureDefinitionID) throws Exception {
1906
			long featureDefinitionID) throws Exception {
1856
		CategoryFacetDefinition categoryFacetDef = 
1907
		CategoryFacetDefinition categoryFacetDef = 
1857
			this.getCategoryFacetDefinition(categoryID);
1908
			this.getCategoryFacetDefinition(categoryID);
1858
		if(categoryFacetDef == null){
1909
		if(categoryFacetDef == null){
Line 1867... Line 1918...
1867
			}
1918
			}
1868
		}
1919
		}
1869
		
1920
		
1870
		return null;
1921
		return null;
1871
	}
1922
	}
1872
 
1923
*/
1873
	/**
1924
	/**
1874
	 * Returns all normalization rule defined
1925
	 * Returns all normalization rule defined
1875
	 * 
1926
	 * 
1876
	 * @return Map<Long, RuleDefinition> 
1927
	 * @return Map<Long, RuleDefinition> 
1877
	 * @throws Exception 
1928
	 * @throws Exception