Author: adrianc
Date: Wed May 16 15:25:11 2012 New Revision: 1339228 URL: http://svn.apache.org/viewvc?rev=1339228&view=rev Log: A bunch of small fixups in Mini-language. Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/CallService.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/CallSimpleMapProcessor.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/Compare.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/RegexpCondition.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/ValidateMethodCondition.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/Assert.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetCalendar.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/ToString.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/ifops/IfRegexp.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/ifops/IfValidateMethod.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/otherops/Calculate.java Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/CallService.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/CallService.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/CallService.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/CallService.java Wed May 16 15:25:11 2012 @@ -78,7 +78,7 @@ public final class CallService extends M public CallService(Element element, SimpleMethod simpleMethod) throws MiniLangException { super(element, simpleMethod); if (MiniLangValidate.validationOn()) { - MiniLangValidate.attributeNames(simpleMethod, element, "serviceName", "in-map-name", "include-user-login", "break-on-error", "error-code", "require-new-transaction", "transaction-timeout", "success-code"); + MiniLangValidate.attributeNames(simpleMethod, element, "service-name", "in-map-name", "include-user-login", "break-on-error", "error-code", "require-new-transaction", "transaction-timeout", "success-code"); MiniLangValidate.constantAttributes(simpleMethod, element, "include-user-login", "break-on-error", "error-code", "require-new-transaction", "transaction-timeout", "success-code"); MiniLangValidate.expressionAttributes(simpleMethod, element, "service-name", "in-map-name"); MiniLangValidate.requiredAttributes(simpleMethod, element, "service-name"); Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/CallSimpleMapProcessor.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/CallSimpleMapProcessor.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/CallSimpleMapProcessor.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/CallSimpleMapProcessor.java Wed May 16 15:25:11 2012 @@ -39,7 +39,7 @@ import org.w3c.dom.Element; /** * An event operation that calls a simple map processor inlined or from a separate file */ -public class CallSimpleMapProcessor extends MethodOperation { +public final class CallSimpleMapProcessor extends MethodOperation { private final FlexibleMapAccessor<List<Object>> errorListFma; private final MapProcessor inlineMapProcessor; Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/Compare.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/Compare.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/Compare.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/Compare.java Wed May 16 15:25:11 2012 @@ -28,7 +28,7 @@ import java.util.Map; import java.util.TimeZone; import org.ofbiz.base.util.Assert; -import org.ofbiz.base.util.UtilValidate; +import org.ofbiz.base.util.ObjectType; import org.ofbiz.entity.GenericEntity; import org.ofbiz.minilang.MiniLangUtil; @@ -200,7 +200,7 @@ public abstract class Compare { @Override public boolean doCompare(Object lValue, Object rValue, Class<?> type, Locale locale, TimeZone timeZone, String format) throws Exception { Object convertedLvalue = MiniLangUtil.convertType(lValue, type, locale, timeZone, format); - return UtilValidate.isEmpty(convertedLvalue); + return ObjectType.isEmpty(convertedLvalue); } } Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/RegexpCondition.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/RegexpCondition.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/RegexpCondition.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/RegexpCondition.java Wed May 16 15:25:11 2012 @@ -20,13 +20,12 @@ package org.ofbiz.minilang.method.condit import org.apache.oro.text.regex.MalformedPatternException; import org.ofbiz.base.util.CompilerMatcher; -import org.ofbiz.base.util.GeneralException; -import org.ofbiz.base.util.ObjectType; import org.ofbiz.base.util.collections.FlexibleMapAccessor; import org.ofbiz.base.util.string.FlexibleStringExpander; import org.ofbiz.minilang.MiniLangElement; import org.ofbiz.minilang.MiniLangException; import org.ofbiz.minilang.MiniLangRuntimeException; +import org.ofbiz.minilang.MiniLangUtil; import org.ofbiz.minilang.MiniLangValidate; import org.ofbiz.minilang.SimpleMethod; import org.ofbiz.minilang.method.MethodContext; @@ -62,8 +61,8 @@ public class RegexpCondition extends Min fieldVal = ""; } else if (!(fieldVal instanceof String)) { try { - fieldVal = ObjectType.simpleTypeConvert(fieldVal, "String", null, methodContext.getTimeZone(), methodContext.getLocale(), true); - } catch (GeneralException e) { + fieldVal = MiniLangUtil.convertType(fieldVal, String.class, methodContext.getLocale(), methodContext.getTimeZone(), null); + } catch (Exception e) { throw new MiniLangRuntimeException(e, this); } } Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/ValidateMethodCondition.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/ValidateMethodCondition.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/ValidateMethodCondition.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/conditional/ValidateMethodCondition.java Wed May 16 15:25:11 2012 @@ -20,12 +20,11 @@ package org.ofbiz.minilang.method.condit import java.lang.reflect.Method; -import org.ofbiz.base.util.GeneralException; -import org.ofbiz.base.util.ObjectType; import org.ofbiz.base.util.collections.FlexibleMapAccessor; import org.ofbiz.minilang.MiniLangElement; import org.ofbiz.minilang.MiniLangException; import org.ofbiz.minilang.MiniLangRuntimeException; +import org.ofbiz.minilang.MiniLangUtil; import org.ofbiz.minilang.MiniLangValidate; import org.ofbiz.minilang.SimpleMethod; import org.ofbiz.minilang.method.MethodContext; @@ -63,8 +62,8 @@ public final class ValidateMethodConditi fieldVal = ""; } else if (!(fieldVal instanceof String)) { try { - fieldVal = ObjectType.simpleTypeConvert(fieldVal, "String", null, methodContext.getTimeZone(), methodContext.getLocale(), true); - } catch (GeneralException e) { + fieldVal = MiniLangUtil.convertType(fieldVal, String.class, methodContext.getLocale(), methodContext.getTimeZone(), null); + } catch (Exception e) { throw new MiniLangRuntimeException(e, this); } } Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/Assert.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/Assert.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/Assert.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/Assert.java Wed May 16 15:25:11 2012 @@ -92,16 +92,20 @@ public final class Assert extends Method @Override public String expandedString(MethodContext methodContext) { - String title = titleExdr.expandString(methodContext.getEnvMap()); + return FlexibleStringExpander.expandString(toString(), methodContext.getEnvMap()); + } + + @Override + public String toString() { StringBuilder messageBuf = new StringBuilder("<assert"); - if (!title.isEmpty()) { + if (!titleExdr.isEmpty()) { messageBuf.append(" title=\""); - messageBuf.append(title); + messageBuf.append(titleExdr); messageBuf.append("\""); } messageBuf.append(">"); for (Conditional condition : conditionalList) { - condition.prettyPrint(messageBuf, methodContext); + messageBuf.append(condition); } messageBuf.append("</assert>"); return messageBuf.toString(); Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetCalendar.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetCalendar.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetCalendar.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetCalendar.java Wed May 16 15:25:11 2012 @@ -27,6 +27,7 @@ import org.ofbiz.base.util.ObjectType; import org.ofbiz.base.util.UtilDateTime; import org.ofbiz.base.util.string.FlexibleStringExpander; import org.ofbiz.minilang.MiniLangException; +import org.ofbiz.minilang.MiniLangUtil; import org.ofbiz.minilang.SimpleMethod; import org.ofbiz.minilang.method.ContextAccessor; import org.ofbiz.minilang.method.MethodContext; @@ -133,7 +134,7 @@ public class SetCalendar extends MethodO if (timeZone == null) { timeZone = TimeZone.getDefault(); } - fromStamp = (Timestamp) ObjectType.simpleTypeConvert(newValue, "Timestamp", UtilDateTime.DATE_TIME_FORMAT, timeZone, locale, true); + fromStamp = (Timestamp) MiniLangUtil.convertType(newValue, java.sql.Timestamp.class, locale, timeZone, UtilDateTime.DATE_TIME_FORMAT); } catch (Exception e) { // Catching all exceptions - even potential ClassCastException if (Debug.verboseOn()) Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java Wed May 16 15:25:11 2012 @@ -22,7 +22,6 @@ import javolution.util.FastList; import javolution.util.FastMap; import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.ObjectType; import org.ofbiz.base.util.Scriptlet; import org.ofbiz.base.util.StringUtil; @@ -79,6 +78,7 @@ public final class SetOperation extends private final Scriptlet scriptlet; private final boolean setIfEmpty; private final boolean setIfNull; + private final Class<?> targetClass; private final String type; private final FlexibleStringExpander valueFse; @@ -113,6 +113,15 @@ public final class SetOperation extends this.valueFse = FlexibleStringExpander.getInstance(element.getAttribute("value")); this.defaultFse = FlexibleStringExpander.getInstance(element.getAttribute("default")); this.type = element.getAttribute("type"); + Class<?> targetClass = null; + if (!this.type.isEmpty()) { + try { + targetClass = ObjectType.loadClass(this.type); + } catch (ClassNotFoundException e) { + MiniLangValidate.handleError("Invalid type " + this.type, simpleMethod, element); + } + } + this.targetClass = targetClass; this.setIfNull = "true".equals(element.getAttribute("set-if-null")); // default to false, anything but true is false this.setIfEmpty = !"false".equals(element.getAttribute("set-if-empty")); // default to true, anything but false is true if (!this.fromFma.isEmpty() && !this.valueFse.isEmpty()) { @@ -157,8 +166,12 @@ public final class SetOperation extends newValue = FastList.newInstance(); } else { try { - newValue = ObjectType.simpleTypeConvert(newValue, this.type, null, methodContext.getTimeZone(), methodContext.getLocale(), true); - } catch (GeneralException e) { + Class<?> targetClass = this.targetClass; + if (targetClass == null) { + targetClass = MiniLangUtil.getObjectClassForConversion(newValue); + } + newValue = MiniLangUtil.convertType(newValue, targetClass, methodContext.getLocale(), methodContext.getTimeZone(), null); + } catch (Exception e) { String errMsg = "Could not convert field value for the field: [" + this.fieldFma.toString() + "] to the [" + this.type + "] type for the value [" + newValue + "]: " + e.toString(); Debug.logWarning(e, errMsg, module); this.simpleMethod.addErrorMessage(methodContext, errMsg); Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/ToString.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/ToString.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/ToString.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/ToString.java Wed May 16 15:25:11 2012 @@ -28,6 +28,7 @@ import org.ofbiz.base.util.ObjectType; import org.ofbiz.base.util.StringUtil; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.minilang.MiniLangException; +import org.ofbiz.minilang.MiniLangUtil; import org.ofbiz.minilang.SimpleMethod; import org.ofbiz.minilang.method.ContextAccessor; import org.ofbiz.minilang.method.MethodContext; @@ -66,11 +67,11 @@ public class ToString extends MethodOper String outStr = null; try { if (UtilValidate.isNotEmpty(format)) { - outStr = (String) ObjectType.simpleTypeConvert(obj, "String", format, methodContext.getTimeZone(), methodContext.getLocale(), true); + outStr = (String) MiniLangUtil.convertType(obj, String.class, methodContext.getLocale(), methodContext.getTimeZone(), format); } else { outStr = obj.toString(); } - } catch (GeneralException e) { + } catch (Exception e) { Debug.logError(e, "", module); outStr = obj.toString(); } Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/ifops/IfRegexp.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/ifops/IfRegexp.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/ifops/IfRegexp.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/ifops/IfRegexp.java Wed May 16 15:25:11 2012 @@ -27,11 +27,10 @@ import javolution.util.FastList; import org.apache.oro.text.regex.MalformedPatternException; import org.ofbiz.base.util.CompilerMatcher; import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.GeneralException; -import org.ofbiz.base.util.ObjectType; import org.ofbiz.base.util.UtilXml; import org.ofbiz.base.util.string.FlexibleStringExpander; import org.ofbiz.minilang.MiniLangException; +import org.ofbiz.minilang.MiniLangUtil; import org.ofbiz.minilang.SimpleMethod; import org.ofbiz.minilang.method.ContextAccessor; import org.ofbiz.minilang.method.MethodContext; @@ -85,8 +84,8 @@ public class IfRegexp extends MethodOper } if (fieldVal != null) { try { - fieldString = (String) ObjectType.simpleTypeConvert(fieldVal, "String", null, methodContext.getTimeZone(), methodContext.getLocale(), true); - } catch (GeneralException e) { + fieldString = (String) MiniLangUtil.convertType(fieldVal, String.class, methodContext.getLocale(), methodContext.getTimeZone(), null); + } catch (Exception e) { Debug.logError(e, "Could not convert object to String, using empty String", module); } } Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/ifops/IfValidateMethod.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/ifops/IfValidateMethod.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/ifops/IfValidateMethod.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/ifops/IfValidateMethod.java Wed May 16 15:25:11 2012 @@ -26,10 +26,9 @@ import java.util.Map; import javolution.util.FastList; import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.GeneralException; -import org.ofbiz.base.util.ObjectType; import org.ofbiz.base.util.UtilXml; import org.ofbiz.minilang.MiniLangException; +import org.ofbiz.minilang.MiniLangUtil; import org.ofbiz.minilang.MiniLangValidate; import org.ofbiz.minilang.SimpleMethod; import org.ofbiz.minilang.method.ContextAccessor; @@ -87,8 +86,8 @@ public class IfValidateMethod extends Me } if (fieldVal != null) { try { - fieldString = (String) ObjectType.simpleTypeConvert(fieldVal, "String", null, methodContext.getTimeZone(), methodContext.getLocale(), true); - } catch (GeneralException e) { + fieldString = (String) MiniLangUtil.convertType(fieldVal, String.class, methodContext.getLocale(), methodContext.getTimeZone(), null); + } catch (Exception e) { Debug.logError(e, "Could not convert object to String, using empty String", module); } } Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/otherops/Calculate.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/otherops/Calculate.java?rev=1339228&r1=1339227&r2=1339228&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/otherops/Calculate.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/otherops/Calculate.java Wed May 16 15:25:11 2012 @@ -31,6 +31,7 @@ import org.ofbiz.base.util.ObjectType; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.UtilXml; import org.ofbiz.minilang.MiniLangException; +import org.ofbiz.minilang.MiniLangUtil; import org.ofbiz.minilang.SimpleMethod; import org.ofbiz.minilang.method.ContextAccessor; import org.ofbiz.minilang.method.MethodContext; @@ -348,7 +349,7 @@ public class Calculate extends MethodOpe locale = Locale.getDefault(); BigDecimal value; try { - BigDecimal parseVal = (BigDecimal) ObjectType.simpleTypeConvert(valueStr, "BigDecimal", null, null, locale, true); + BigDecimal parseVal = (BigDecimal) MiniLangUtil.convertType(valueStr, java.math.BigDecimal.class, locale, null, null); value = parseVal.setScale(scale, roundingMode); } catch (Exception e) { Debug.logError(e, "Could not parse the number string: " + valueStr, module); |
Free forum by Nabble | Edit this page |