Subversion Repositories SmartDukaan

Rev

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

Rev 2171 Rev 2367
Line 60... Line 60...
60
 
60
 
61
	private String[] xmlTabIndentation = {"", "\t", "\t\t", "\t\t\t", "\t\t\t\t", "\t\t\t\t\t", "\t\t\t\t\t\t"};
61
	private String[] xmlTabIndentation = {"", "\t", "\t\t", "\t\t\t", "\t\t\t\t", "\t\t\t\t\t", "\t\t\t\t\t\t"};
62
 
62
 
63
	private Map<Long, List<String>> facetIDFacetValues = new HashMap<Long, List<String>>();
63
	private Map<Long, List<String>> facetIDFacetValues = new HashMap<Long, List<String>>();
64
	
64
	
65
	Map<Long, List<Item>> entityIdItemMap;
65
	List<Entity> entities;
66
 
66
 
67
	/**
67
	/**
68
	 * @param args
68
	 * @param args
69
	 * @throws Exception 
69
	 * @throws Exception 
70
	 */
70
	 */
Line 80... Line 80...
80
	
80
	
81
	/**
81
	/**
82
	 * 
82
	 * 
83
	 * @param entityIdItemMap
83
	 * @param entityIdItemMap
84
	 */
84
	 */
85
	public NewIR(Map<Long, List<Item>> entityIdItemMap){
85
	public NewIR(List<Entity> entities){
86
	    this.entityIdItemMap = entityIdItemMap;
86
	    this.entities = entities;
87
	}
87
	}
88
	
88
	
89
	
89
	
90
	/**
90
	/**
91
	 * 
91
	 * 
Line 115... Line 115...
115
	
115
	
116
	/**
116
	/**
117
	 * 
117
	 * 
118
	 * @throws Exception
118
	 * @throws Exception
119
	 */
119
	 */
120
	public void transformIrDataXMLtoSolrXML() throws Exception {
120
	public void transformIrDataXMLtoSolrXML(long catalogId) throws Exception {
121
		String irDataFilename = Utils.EXPORT_IR_PATH + "irdata.xml";
121
		String irDataFilename = Utils.EXPORT_PATH + "xml/intermediate/" + catalogId +  "_irdata.xml";
122
		String irSolrDataFilename = Utils.EXPORT_SOLR_PATH + "irdata_solr.xml";
122
		String irSolrDataFilename = Utils.EXPORT_PATH + "xml/final/" +  catalogId +  "_irdata_solr.xml";
123
		String irXslFilename = "src/xsl/irdata_solrdata.xsl";
123
		String irXslFilename = "src/xsl/irdata_solrdata.xsl";
124
		System.out.println(irSolrDataFilename);
124
		System.out.println(irSolrDataFilename);
125
		File solrFile = new File(irSolrDataFilename);
125
		File solrFile = new File(irSolrDataFilename);
126
		if(!solrFile.exists()){
126
		if(!solrFile.exists()){
127
			solrFile.createNewFile();
127
			solrFile.createNewFile();
Line 133... Line 133...
133
	/**
133
	/**
134
	 * 
134
	 * 
135
	 * @throws Exception
135
	 * @throws Exception
136
	 */
136
	 */
137
	public void transformIrMetaDataXMLSolrSchemaXML() throws Exception {
137
	public void transformIrMetaDataXMLSolrSchemaXML() throws Exception {
138
		String irDataFilename = Utils.EXPORT_IR_PATH + "irmetadata.xml";
138
		String irDataFilename = Utils.EXPORT_PATH  + "xml/intermediate/" + "irmetadata.xml";
139
		String irSolrDataFilename = Utils.EXPORT_SOLR_PATH + "irmetadata_solrschema.xml";
139
		String irSolrDataFilename = Utils.EXPORT_PATH + "xml/final/" + "irmetadata_solrschema.xml";
140
		String irXslFilename = "src/xsl/irmetadata_solrschema.xsl";
140
		String irXslFilename = "src/xsl/irmetadata_solrschema.xsl";
141
		System.out.println(irSolrDataFilename);
141
		System.out.println(irSolrDataFilename);
142
		File solrFile = new File(irSolrDataFilename);
142
		File solrFile = new File(irSolrDataFilename);
143
		if(!solrFile.exists()){
143
		if(!solrFile.exists()){
144
			solrFile.createNewFile();
144
			solrFile.createNewFile();
Line 231... Line 231...
231
		
231
		
232
		String irMetaDataXML = StringUtils.join(xmlSnippets, "\n");
232
		String irMetaDataXML = StringUtils.join(xmlSnippets, "\n");
233
		Utils.info(irMetaDataXML);
233
		Utils.info(irMetaDataXML);
234
		
234
		
235
		// Write it to file
235
		// Write it to file
236
		String irMetaDataFilename = Utils.EXPORT_IR_PATH + "irmetadata.xml";
236
		String irMetaDataFilename = Utils.EXPORT_PATH +  "xml/intermediate/" + "irmetadata.xml";
237
		DBUtils.store(irMetaDataXML, irMetaDataFilename);
237
		DBUtils.store(irMetaDataXML, irMetaDataFilename);
238
	}
238
	}
239
	
239
	
240
	/**
240
	/**
241
	 * 
241
	 * 
Line 443... Line 443...
443
	 */
443
	 */
444
	public void exportIRData() throws Exception {
444
	public void exportIRData() throws Exception {
445
		DefinitionsContainer defs = Catalog.getInstance().getDefinitionsContainer();
445
		DefinitionsContainer defs = Catalog.getInstance().getDefinitionsContainer();
446
		Map<Long, List<FacetDefinition>> slideFacets = defs.getSlideFacetDefinitions();
446
		Map<Long, List<FacetDefinition>> slideFacets = defs.getSlideFacetDefinitions();
447
		
447
		
-
 
448
		for(Entity entity: entities){
448
		// <IRData>
449
			// <IRData>
449
		List<String> irDataXMLSnippets = new ArrayList<String>();
450
			List<String> irDataXMLSnippets = new ArrayList<String>();
450
		irDataXMLSnippets.add("<IRData>");
451
			irDataXMLSnippets.add("<IRData>");
451
		
-
 
452
		
-
 
453
		for(long entityID: entityIdItemMap.keySet()){
452
		    long entityID = entity.getID();
454
		    Entity entity = CreationUtils.getEntity(entityID);
-
 
455
		    
453
 
456
		    double minPrice = getMinPrice(entityIdItemMap.get(entityID));
454
		    //Setting minPrice zero because irdatarule requires float. It wont accept string 
457
		    
455
		    double minPrice = 0;
458
			ExpandedEntity expEntity = new ExpandedEntity(entity);
456
			ExpandedEntity expEntity = new ExpandedEntity(entity);
459
			long categoryID = expEntity.getCategoryID();
457
			long categoryID = expEntity.getCategoryID();
460
			List<ExpandedSlide> expSlides = expEntity.getExpandedSlides();
458
			List<ExpandedSlide> expSlides = expEntity.getExpandedSlides();
461
			
459
			
462
			List<String> entityXMLSnippets = new ArrayList<String>();
460
			List<String> entityXMLSnippets = new ArrayList<String>();
Line 470... Line 468...
470
				((expEntity.getModelNumber() != null) ? (" " +	StringEscapeUtils.escapeXml(expEntity.getModelNumber())): "");
468
				((expEntity.getModelNumber() != null) ? (" " +	StringEscapeUtils.escapeXml(expEntity.getModelNumber())): "");
471
 
469
 
472
			entityXMLSnippets.add(this.xmlIndentation[2] +	"<Title>" + StringEscapeUtils.escapeXml(title) + "</Title>");
470
			entityXMLSnippets.add(this.xmlIndentation[2] +	"<Title>" + StringEscapeUtils.escapeXml(title) + "</Title>");
473
			
471
			
474
			//Boost titles for the mobile phones
472
			//Boost titles for the mobile phones
475
			if(expEntity.getCategory().getParentCategory().getID() == 10001){
473
			if(expEntity.getCategory().getParentCategory().getID() == Utils.MOBILE_PHONES_CATAGOEY){
476
			    entityXMLSnippets.add(this.xmlIndentation[2] +   "<Boost>" + 5 + "</Boost>");
474
			    entityXMLSnippets.add(this.xmlIndentation[2] +   "<Boost>" + 5 + "</Boost>");
477
			}else{
475
			}else{
478
			    entityXMLSnippets.add(this.xmlIndentation[2] +   "<Boost>" + 0 + "</Boost>");
476
			    entityXMLSnippets.add(this.xmlIndentation[2] +   "<Boost>" + 0 + "</Boost>");
479
			}
477
			}
480
 
478
 
Line 515... Line 513...
515
			String propertiesXMLSnippetsStr = this.getPropertiesXMLSnippet(expEntity, new ArrayList<Long>(), 2);
513
			String propertiesXMLSnippetsStr = this.getPropertiesXMLSnippet(expEntity, new ArrayList<Long>(), 2);
516
			entityXMLSnippets.add(propertiesXMLSnippetsStr);
514
			entityXMLSnippets.add(propertiesXMLSnippetsStr);
517
			entityXMLSnippets.add(this.xmlIndentation[1] + "</Entity>");
515
			entityXMLSnippets.add(this.xmlIndentation[1] + "</Entity>");
518
			System.out.println(entityXMLSnippets);
516
			System.out.println(entityXMLSnippets);
519
			irDataXMLSnippets.addAll(entityXMLSnippets);
517
			irDataXMLSnippets.addAll(entityXMLSnippets);
-
 
518
			irDataXMLSnippets.add("</IRData>");
-
 
519
			String irDataXML = StringUtils.join(irDataXMLSnippets, "\n");
-
 
520
			Utils.info(irDataXML);
520
 
521
			
-
 
522
			// Write it to file
-
 
523
			String irDataFilename = Utils.EXPORT_PATH + "xml/intermediate/" + entityID + "_irdata.xml";
-
 
524
			DBUtils.store(irDataXML, irDataFilename);
-
 
525
			transformIrDataXMLtoSolrXML(entityID);
521
		}
526
		}
522
		
527
		
523
		irDataXMLSnippets.add("</IRData>");
-
 
524
		
528
		
525
		String irDataXML = StringUtils.join(irDataXMLSnippets, "\n");
-
 
526
		Utils.info(irDataXML);
-
 
527
		
529
		
528
		// Write it to file
530
		
529
		String irDataFilename = Utils.EXPORT_IR_PATH + "irdata.xml";
-
 
530
		DBUtils.store(irDataXML, irDataFilename);
-
 
531
	}
531
	}
532
	
532
	
533
	private double getMinPrice(List<Item> items){
533
	private double getMinPrice(List<Item> items){
534
        double minPrice = Double.MAX_VALUE;
534
        double minPrice = Double.MAX_VALUE;
535
        for(Item item: items){
535
        for(Item item: items){