}
public static String replaceTextVar(String text, Recipient recipient, User subscriber, Communication comm) {
String finalMessageStr = text;
Address address = new Address();
try {
List<Address> adds = PublicAddressFactory.getAddressesByUserId(subscriber.getUserId());
if (adds != null && adds.size() > 0) {
address = (Address) adds.get(0);
}
}
catch(Exception e) {
Logger.error(DeliverCampaignThread.class, "deliverCampaigns Failed" + e.getMessage());
}
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/rId(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))rId(\")?( )*/*( )*(>|(>))", recipient.getInode() + "");
//Variables replacement from subscriber object
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varName(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varName(\")?( )*/*( )*(>|(>))", (subscriber.getFirstName()!=null) ? subscriber.getFirstName() : "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varEmail(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varEmail(\")?( )*/*( )*(>|(>))", (subscriber.getEmailAddress()!=null) ? subscriber.getEmailAddress() : "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varMiddleName(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varMiddleName(\")?( )*/*( )*(>|(>))", (subscriber.getMiddleName()!=null) ? subscriber.getMiddleName() : "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varLastName(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varLastName(\")?( )*/*( )*(>|(>))", (subscriber.getLastName()!=null) ? subscriber.getLastName() : "");
UserProxy userproxy;
try {
userproxy = com.dotmarketing.business.APILocator.getUserProxyAPI().getUserProxy(subscriber,APILocator.getUserAPI().getSystemUser(), false);
} catch (Exception e) {
Logger.error(DeliverCampaignThread.class, e.getMessage(), e);
throw new DotRuntimeException(e.getMessage(), e);
}
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varLastMessage(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varLastMessage(\")?( )*/*( )*(>|(>))", (userproxy.getLastMessage()!=null) ? userproxy.getLastMessage() : "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varAddress1(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varAddress1(\")?( )*/*( )*(>|(>))", (address.getStreet1()!=null) ? address.getStreet1() : "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varAddress2(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varAddress2(\")?( )*/*( )*(>|(>))", (address.getStreet2()!=null) ? address.getStreet2() : "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varPhone(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varPhone(\")?( )*/*( )*(>|(>))", (address.getPhone()!=null) ? address.getPhone() : "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varState(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varState(\")?( )*/*( )*(>|(>))", (address.getState()!=null) ? address.getState() : "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varCity(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varCity(\")?( )*/*( )*(>|(>))", (address.getCity()!=null) ? address.getCity() : "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varCountry(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varCountry(\")?( )*/*( )*(>|(>))", (address.getCountry()!=null) ? address.getCountry() : "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))/varZip(>|(>))", "");
finalMessageStr = finalMessageStr.replaceAll("(?i)(<|(<))varZip(\")?( )*/*( )*(>|(>))", (address.getZip()!=null) ? address.getZip() : "");
//gets default company to get locale
Company comp = PublicCompanyFactory.getDefaultCompany();
try {