Showing posts with label Catalog Entry Dataload. Show all posts
Showing posts with label Catalog Entry Dataload. Show all posts

WebSphere Commerce 7 | Custom Dataload | Catalog Entry Attributes Dataload | BOD Objects to Set in Custom Data Reader

If you are writing custom datareader for Catalog Entry Attributes Dataload, here is the sample snippet for different BOD Objects to set,

// Create CatalogEntryAttributesType
CatalogEntryAttributesType catentryAttrType = CatalogFactory.eINSTANCE.createCatalogEntryAttributesType();

// Create PartNumberIdentifierType
PartNumberIdentifierType partNumberIdentifierType = CommerceFoundationFactory.eINSTANCE.createPartNumberIdentifierType();
partNumberIdentifierType.setPartNumber("Reebok_1234");

// Create CatalogEntryIdentifierType
CatalogEntryIdentifierType catalogEntryIdentifierType = CommerceFoundationFactory.eINSTANCE.createCatalogEntryIdentifierType();
catalogEntryIdentifierType.setExternalIdentifier(partNumberIdentifierType);

// Get the attributes list from the Catalog entry
List<CatalogAttributeType> catattrTypeList =  catEntryType.getCatalogEntryAttributes().getAttributes();

// Create Basic Details of Catentry Object
CatalogEntryType catEntryType = CatalogFactory.eINSTANCE.createCatalogEntryType();
catEntryType.setCatalogEntryIdentifier(catalogEntryIdentifierType);
catEntryType.setCatalogEntryAttributes(catentryAttrType);

// ---------------------------------- Adding attributes 1 
// Create AttributeExternalIdentifierType
AttributeExternalIdentifierType attributeExternalIdentifierType1 = CommerceFoundationFactory.eINSTANCE.createAttributeExternalIdentifierType();
attributeExternalIdentifierType1.setIdentifier("Reebok_1234_Wash_Instruction");
AttributeIdentifierType attributeIdentifierType1 = CommerceFoundationFactory.eINSTANCE.createAttributeIdentifierType();
attributeIdentifierType1.setExternalIdentifier(attributeExternalIdentifierType);

// Create ValueType Object
ValueType valueType1 = CatalogFactory.eINSTANCE.createValueType();
valueType1.setValue("Don't wash to with hot water");
valueType1.setIdentifier("Reebok_1234_Wash_Instruction_Val");

// Catalog Attribute Type
CatalogAttributeType catalogAttributeType1 = CatalogFactory.eINSTANCE.createCatalogAttributeType();
catalogAttributeType1.setAttributeIdentifier(attributeIdentifierType);
catalogAttributeType1.setValue(valueType);
catalogAttributeType1.setUsage(DESCRIPTIVE);
catalogAttributeType1.setAttributeDataType("STRING");
catalogAttributeType1.setLanguage("en_US");

// Add this Attribute to catAttrTypeList Object
catAttrTypeList.add(catalogAttributeType1);

// ---------------------------------- Adding attributes 2 
AttributeExternalIdentifierType attributeExternalIdentifierType2 = CommerceFoundationFactory.eINSTANCE.createAttributeExternalIdentifierType();
attributeExternalIdentifierType2.setIdentifier("Reebok_1234_DryCleaning_Instruction");
AttributeIdentifierType attributeIdentifierType2 = CommerceFoundationFactory.eINSTANCE.createAttributeIdentifierType();
attributeIdentifierType2.setExternalIdentifier(attributeExternalIdentifierType);

ValueType valueType2 = CatalogFactory.eINSTANCE.createValueType();
valueType2.setValue("Don't do dry cleaning");
valueType2.setIdentifier("Reebok_1234_DryCleaning_Instruction_Val");

// Catalog Attribute Type
CatalogAttributeType catalogAttributeType2 = CatalogFactory.eINSTANCE.createCatalogAttributeType();
catalogAttributeType2.setAttributeIdentifier(attributeIdentifierType);
catalogAttributeType2.setValue(valueType);
catalogAttributeType2.setUsage(DESCRIPTIVE);
catalogAttributeType2.setAttributeDataType("STRING");
catalogAttributeType2setLanguage("en_US");

// Add this Attribute to catAttrTypeList Object
catAttrTypeList.add(catalogAttributeType2);

Set this prepared CatalogEntryType to DataLoadBusinessObject and return the same in next() method for the Custom Data Reader.

WebSphere Commerce 7 | Custom Dataload | Catalog Entry Dataload | BOD Objects to Set in Custom Data Reader

If you are writing custom datareader for Catalog Entry Dataload, here is the sample snippet for different BOD Objects to set,

// Create object for partnumber
PartNumberIdentifierType partNumberIdentifierType = CommerceFoundationFactory.eINSTANCE.createPartNumberIdentifierType();
partNumberIdentifierType.setPartNumber("Reebok_765687");

CatalogEntryIdentifierType identifier = CommerceFoundationFactory.eINSTANCE.createCatalogEntryIdentifierType();
identifier.setExternalIdentifier(partNumberIdentifierType);
       
// Create object for parent catgroup

CatalogGroupExternalIdentifierType catGroupExternalIdentifierType = CommerceFoundationFactory.eINSTANCE.createCatalogGroupExternalIdentifierType();
catGroupExternalIdentifierType.setGroupIdentifier("reebokShoes");

CatalogGroupIdentifierType catGroupIdentifierType = CommerceFoundationFactory.eINSTANCE.createCatalogGroupIdentifierType();
catGroupIdentifierType.setExternalIdentifier(catGroupExternalIdentifierType);

// Create object for catalog description
CatalogDescriptionType catalogDescType = CatalogFactory.eINSTANCE.createCatalogDescriptionType();
catalogDescType.setLanguage("-1");
catalogDescType.setName("Reebok Express Fancy Shoes");
catalogDescType.setShortDescription("Reebok Express Fancy Shoes sold in India");
catalogDescType.setLongDescription("Reebok Express Fancy Shoes - For comfort and styling");
catalogDescType.getAttributes().put(AVAILABLE, "1");
catalogDescType.getAttributes().put(PUBLISHED, "1");       

// Create Catentry Attributes       
CatalogEntryAttributesType catalogEntryAttributesType = CatalogFactory.eINSTANCE.createCatalogEntryAttributesType();

// Manufacturer Partnumber

StringValueType stringMFPartNumberType = CatalogFactory.eINSTANCE.createStringValueType();
stringMFPartNumberType.setValue("reebokManufacturesIndia");
CatalogAttributeType catalogMFPartNumberAttrType = CatalogFactory.eINSTANCE.createCatalogAttributeType();
catalogMFPartNumberAttrType.setName("ManufacturerPartNumber");
catalogMFPartNumberAttrType.setStringValue(stringMFPartNumberType);
catalogEntryAttributesType.getAttributes().add(catalogMFPartNumberAttrType);
       
// Manufacturer Name

StringValueType stringMFNameType = CatalogFactory.eINSTANCE.createStringValueType();
stringMFNameType.setValue("Reebok Manufacturers India");
CatalogAttributeType catalogMFNameAttrType = CatalogFactory.eINSTANCE.createCatalogAttributeType();
catalogMFNameAttrType.setName("Manufacturer");
catalogMFNameAttrType.setStringValue(stringMFNameType);       
catalogEntryAttributesType.getAttributes().add(catalogMFNameAttrType);
       
// Buyable Flag
StringValueType stringBuyableValType = CatalogFactory.eINSTANCE.createStringValueType();
stringBuyableValType.setValue("1");
CatalogAttributeType catalogBuyableAttrType = CatalogFactory.eINSTANCE.createCatalogAttributeType();
catalogBuyableAttrType.setName("buyable");
catalogBuyableAttrType.setStringValue(stringBuyableValType);
catalogEntryAttributesType.getAttributes().add(catalogBuyableAttrType);       
// Create Basic Details of Catentry Object
CatalogEntryType catentry = CatalogFactory.eINSTANCE.createCatalogEntryType();

// Setting all the constructed objects to Catentry Object

catentry.setCatalogEntryIdentifier(catEntIdType);           
catentry.setParentCatalogGroupIdentifier(catalogGroupIdentifierType);
catentry.getDescription().add(catalogDescType);
catentry.setCatalogEntryAttributes(catalogAttributesType);
catentry.setCatalogEntryTypeCode("ProductBean");   

Set this prepared CatalogEntryType to DataLoadBusinessObject and return the same in next() method for the Custom Data Reader.

Refer WCS | Dataload Utility | Writing Custom Dataload link to know more details of custom data readers

My Writings........

Salesforce | Administration | Email-to-Case | Create Cases using Email-to-Case

Email to Case Setup ·        Click on Email-to-Case ·         Enable the following flags, ·        Provide the Routing Addres...