Академический Документы
Профессиональный Документы
Культура Документы
<itemtype code="AddToWalletProcess"
extends="StoreFrontCustomerProcess" generate="true" autocreate="true">
<attributes>
<attribute type="java.lang.String" qualifier="message">
<persistence type="property" />
</attribute>
</attributes>
</itemtype>
/**
* @param message
*/
public AddToWalletEvent(final String message)
{
super();
this.message = message;
}
/**
* @return the message
*/
public String getMessage()
{
return message;
}
/**
* @param message
* the message to set
*/
public void setMessage(final String message)
{
this.message = message;
}
}
Step 3: Listener
public class AddToWalletListener extends
AbstractAcceleratorSiteEventListener<AddToWalletEvent>
{
@Override
protected void onSiteEvent(final AddToWalletEvent event)
{
addListner.info("entered to AddToWalletListener");
// XXX Auto-generated method stub
final AddToWalletProcessModel addToWalletProcessModel =
(AddToWalletProcessModel) getBusinessProcessService().createProcess(
"addToWalletEmail-" + event.getCustomer().getUid()
+ "-" + System.currentTimeMillis(), "addToWalletEmailProcess");
addToWalletProcessModel.setSite(event.getSite());
addToWalletProcessModel.setCustomer(event.getCustomer());
addToWalletProcessModel.setLanguage(event.getLanguage());
addToWalletProcessModel.setCurrency(event.getCurrency());
addToWalletProcessModel.setStore(event.getBaseStore());
addToWalletProcessModel.setMessage(event.getMessage());
getModelService().save(addToWalletProcessModel);
getBusinessProcessService().startProcess(addToWalletProcessModel);
/*
* (non-Javadoc)
*
* @see
*
de.hybris.platform.acceleratorservices.site.AbstractAcceleratorSiteEventLis
tener#getSiteChannelForEvent(de.hybris.
* platform.servicelayer.event.events.AbstractEvent)
*/
@Override
protected SiteChannel getSiteChannelForEvent(final AddToWalletEvent
event)
{
// XXX Auto-generated method stub
final BaseSiteModel site = event.getSite();
ServicesUtil.validateParameterNotNullStandardMessage("event.site",
site);
return site.getChannel();
/**
* @param modelService
* the modelService to set
*/
public void setModelService(final ModelService modelService)
{
this.modelService = modelService;
}
/**
* @param businessProcessService
* the businessProcessService to set
*/
public void setBusinessProcessService(final BusinessProcessService
businessProcessService)
{
this.businessProcessService = businessProcessService;
}
/**
* @return the businessProcessService
*/
public BusinessProcessService getBusinessProcessService()
{
return businessProcessService;
}
/*
* (non-Javadoc)
*
* @see
*
de.hybris.platform.commerceservices.event.AbstractSiteEventListener#onSiteE
vent(de.hybris.platform.servicelayer.
* event.events.AbstractEvent)
*/
/**
* @return the modelService
*/
public ModelService getModelService()
{
return modelService;
}
{
return message;
}
/*
* (non-Javadoc)
*
* @see
de.hybris.platform.acceleratorservices.process.email.context.AbstractEmailC
ontext#getSite(de.hybris.platform.
* processengine.model.BusinessProcessModel)
*/
@Override
protected BaseSiteModel getSite(final AddToWalletProcessModel
businessProcessModel)
{
// XXX Auto-generated method stub
return businessProcessModel.getSite();
}
/*
* (non-Javadoc)
*
* @see
*
de.hybris.platform.acceleratorservices.process.email.context.AbstractEmailC
ontext#getCustomer(de.hybris.platform.
* processengine.model.BusinessProcessModel)
*/
@Override
protected CustomerModel getCustomer(final AddToWalletProcessModel
businessProcessModel)
{
// XXX Auto-generated method stub
return businessProcessModel.getCustomer();
}
/*
* (non-Javadoc)
*
* @see
de.hybris.platform.acceleratorservices.process.email.context.AbstractEmailC
ontext#getEmailLanguage(de.hybris.
* platform.processengine.model.BusinessProcessModel)
*/
@Override
protected LanguageModel getEmailLanguage(final
AddToWalletProcessModel businessProcessModel)
{
// XXX Auto-generated method stub
return businessProcessModel.getLanguage();
}
processClass="de.hybris.platform.commerceservices.model.process.Forgo
ttenPasswordProcessModel" onError="error">
<action id="generateForgottenPasswordEmail"
bean="generateForgottenPasswordEmail">
<transition name="OK" to="sendEmail"/>
<transition name="NOK" to="error"/>
</action>
</process>
Step 6:We should create 2 vm file 1 for title,1 for body , We can create only one vm file but
it should body.
Your message :${ctx.getMessage()}.
<bean id="addToWalletEmailProcessDefinitionResource"
class="de.hybris.platform.processengine.definition.ProcessDefinitionResourc
e" >
<property name="resource"
value="classpath:/yacceleratorcore/processes/addToWalletEmailProcess.xml"/>
</bean>
Defining frontend: core
<bean id="generateAddMoneyToWalletEmail"
parent="abstractGenerateEmailAction">
<property name="frontendTemplateName"
value="AddMoneyEmailTemplate"/>
</bean>
<bean id="addToWalletEmailContext"
class="de.hybris.platform.yacceleratorfacades.process.email.context.AddToWa
lletEmailContext" parent="abstractEmailContext" scope="prototype" >
</bean>