svn commit: r1128865 [9/27] - in /ofbiz/branches/jackrabbit20100709: ./ applications/accounting/config/ applications/accounting/src/org/ofbiz/accounting/invoice/ applications/accounting/src/org/ofbiz/accounting/payment/ applications/accounting/src/org/...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1128865 [9/27] - in /ofbiz/branches/jackrabbit20100709: ./ applications/accounting/config/ applications/accounting/src/org/ofbiz/accounting/invoice/ applications/accounting/src/org/ofbiz/accounting/payment/ applications/accounting/src/org/...

sascharodekamp
Modified: ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProdCatalogForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProdCatalogForms.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProdCatalogForms.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProdCatalogForms.xml Sun May 29 11:02:09 2011
@@ -20,7 +20,42 @@ under the License.
 
 <forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">
-    <form name="ListProdCatalog" list-name="listIt" target="" title="" type="list" paginate-target="FindProdCatalog"
+    <form name="FindCatalog" type="single" target="FindCatalog" title="" default-map-name="catalog"
+        header-row-style="header-row" default-table-style="basic-table" >
+        <field name="prodCatalogId" title="${uiLabelMap.ProdCatalogId}"><text-find/></field>
+        <field name="catalogName"><text-find/></field>
+        <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit">
+            <submit button-type="button"/>
+        </field>
+    </form>
+
+    <form name="ListCatalog" list-name="listIt" target="" title="" type="list" paginate-target="FindCatalog"
+        odd-row-style="alternate-row" default-table-style="basic-table hover-bar" header-row-style="header-row-2">
+        <actions>
+            <set field="entityName" value="ProdCatalog"/>
+            <set field="parameters.sortField" from-field="parameters.sortField" default-value="+catalogName"/>
+            <service service-name="performFind" result-map="result" result-map-list="listIt">
+                <field-map field-name="inputFields" from-field="parameters"/>
+                <field-map field-name="entityName" from-field="entityName"/>
+                <field-map field-name="orderBy" from-field="parameters.sortField"/>
+                <field-map field-name="viewIndex" from-field="viewIndex"/>
+                <field-map field-name="viewSize" from-field="viewSize"/>
+                <field-map field-name="noConditionFind" value="Y"/>
+            </service>
+        </actions>
+        <field name="prodCatalogId" sort-field="true">
+            <hyperlink also-hidden="false" description="${prodCatalogId}" target="EditCatalog">
+                <parameter param-name="prodCatalogId"/>
+            </hyperlink>
+        </field>
+        
+        <field name="prodCatalogId" sort-field="true">
+            <hyperlink target="EditProdCatalog?prodCatalogId=${prodCatalogId}" description="${prodCatalogId}"></hyperlink>
+        </field>
+        <field name="catalogName" sort-field="true"><display/></field>
+        <field name="useQuickAdd" title="${uiLabelMap.ProductUseQuickAdd}" sort-field="true"><display/></field>
+    </form>
+    <!-- form name="ListProdCatalog" list-name="listIt" target="" title="" type="list" paginate-target="FindProdCatalog"
         odd-row-style="alternate-row" default-table-style="basic-table hover-bar" header-row-style="header-row-2">
         <actions>
             <set field="parameters.sortField" from-field="parameters.sortField" default-value="prodCatalogId"/>
@@ -35,7 +70,7 @@ under the License.
         </field>
         <field name="catalogName" title="${uiLabelMap.ProductCatalogName}" sort-field="true"><display/></field>
         <field name="useQuickAdd" title="${uiLabelMap.ProductUseQuickAdd}" sort-field="true"><display/></field>
-    </form>
+    </form-->
     <form name="EditProdCatalog" type="single" target="updateProdCatalog" title="" default-map-name="prodCatalog"
         header-row-style="header-row" default-table-style="basic-table" default-entity-name="ProdCatalog">
 
@@ -48,7 +83,7 @@ under the License.
         <!-- this to be taken care of with auto-fields-service as soon as it uses entity field info too -->
         <field use-when="prodCatalog==null&amp;&amp;prodCatalogId==null" name="prodCatalogId" title="${uiLabelMap.ProductCatalogId}"><text size="20" maxlength="20"/></field>
 
-        <field name="catalogName" title="${uiLabelMap.ProductCatalogName}"><text size="30" maxlength="60"/></field>
+        <field name="catalogName"><text size="30" maxlength="60"/></field>
 
         <field name="useQuickAdd" title="${uiLabelMap.ProductUseQuickAdd}">
             <drop-down allow-empty="false" no-current-selected-key="Y"><option key="Y" description="${uiLabelMap.CommonY}"/><option key="N" description="${uiLabelMap.CommonN}"/></drop-down>

Modified: ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductForms.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductForms.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductForms.xml Sun May 29 11:02:09 2011
@@ -470,6 +470,15 @@ under the License.
         </field>
 
         <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
+
+        <field name="viewHistoryLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
+            <hyperlink target="ProductPriceHistory" description="${uiLabelMap.ProductHistory}" also-hidden="false">
+                <parameter param-name="productId"/>
+                <parameter param-name="productPriceTypeId"/>
+                <parameter param-name="fromDate"/>
+            </hyperlink>
+        </field>
+
         <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
             <hyperlink target="deleteProductPrice" description="${uiLabelMap.CommonDelete}" also-hidden="false">
                 <parameter param-name="productId"/><parameter param-name="productPriceTypeId"/><parameter param-name="productPricePurposeId"/>
@@ -937,10 +946,13 @@ under the License.
         <field name="availableFromDate" title="${uiLabelMap.ProductAvailableFromDate}" red-when="after-now" sort-field="true"><display/></field>
         <field name="availableThruDate" title="${uiLabelMap.ProductAvailableThruDate}" red-when="before-now" sort-field="true"><display/></field>
         <field name="quantityUomId"><display-entity entity-name="Uom" key-field-name="uomId"/></field>
-        <field name="supplierCommissionPerc"><display/></field>
+        <!-- field name="supplierCommissionPerc"><display/></field-->
         <field name="lastPrice" sort-field="true">
             <display type="currency" currency="${currencyUomId}"/>
         </field>
+        <field name="shippingPrice">
+            <display type="currency" currency="${currencyUomId}"/>
+        </field>
         <field name="editLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
             <hyperlink target="EditProductSuppliers" description="${uiLabelMap.CommonEdit}" also-hidden="false">
                 <parameter param-name="productId"/>
@@ -2077,4 +2089,17 @@ under the License.
         <field name="submitButton" title="${uiLabelMap.CommonCreate}" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
 
+    <form name="ListProductPriceHistory" type="list" list-name="productPricesChanges" header-row-style="header-row" default-table-style="basic-table">
+        <field name="productPriceTypeId" title="${uiLabelMap.ProductPriceType}"><display-entity entity-name="ProductPriceType"/></field>
+        <field name="productPricePurposeId" title="${uiLabelMap.CommonPurpose}"><display/></field>
+        <field name="currencyUomId" title="${uiLabelMap.ProductCurrency}"><display/></field>
+        <field name="productStoreGroupId" title="${uiLabelMap.ProductProductStoreGroup}"><display-entity entity-name="ProductStoreGroup" description="${productStoreGroupName}"/></field>
+        <field name="fromDate" title="${uiLabelMap.CommonFromDateTime}"><display/></field>
+        <field name="thruDate" title="${uiLabelMap.CommonThruDate}"><display/></field>
+        <field name="price" title="${uiLabelMap.ProductPrice}"><display/></field>
+        <field name="oldPrice"><display/></field>
+        <field name="changedByUserLogin" title="${uiLabelMap.ProductLastModifiedBy}"><display/></field>
+        <field name="changedDate"><display/></field>
+    </form>
  </forms>
+

Modified: ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductScreens.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductScreens.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductScreens.xml Sun May 29 11:02:09 2011
@@ -34,76 +34,49 @@ under the License.
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
-                    <decorator-section name="pre-body">
-                        <section>
-                            <condition>
-                                    <and>
-                                        <if-has-permission permission="CATALOG" action="_VIEW"/>
-                                        <or>
-                                            <not><if-empty field="parameters.bypassIfNoProduct"/></not>
-                                            <not><if-empty field="product"/></not>
-                                        </or>
-                                    </and>
-                            </condition>
-                            <widgets>
-                                <include-menu name="ProductTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/>
-                            </widgets>
-                        </section>
-                    </decorator-section>
                     <decorator-section name="left-column">
                         <include-screen name="leftbar" location="component://product/widget/catalog/CommonScreens.xml"/>
                     </decorator-section>
                     <decorator-section name="body">
                         <section>
-                            <!-- do check for CATALOG, _VIEW permission -->
                             <condition>
-                                <if-has-permission permission="CATALOG" action="_VIEW"/>
+                                <or>
+                                    <if-has-permission permission="CATALOG" action="_ADMIN"/>
+                                    <if-has-permission permission="CATALOG" action="_CREATE"/>
+                                    <if-has-permission permission="CATALOG" action="_UPDATE"/>
+                                    <if-has-permission permission="CATALOG" action="_VIEW"/>
+                                </or>
                             </condition>
+                            <actions>
+                                <set field="productId" from-field="parameters.productId"/>
+                                <entity-one entity-name="Product" value-field="product"/>
+                            </actions>
                             <widgets>
                                 <section>
                                     <condition>
                                         <or>
-                                            <not><if-empty field="parameters.bypassIfNoProduct"/></not>
-                                            <not><if-empty field="product"/></not>
-                                        </or>
-                                    </condition>
-                                    <widgets>
-                                        <container>
-                                            <label style="h1">${uiLabelMap[labelTitleProperty]} ${uiLabelMap.CommonFor}: ${product.internalName} [${uiLabelMap.CommonId}:${productId}]  ${${extraFunctionName}}</label>
-                                            <image src="${product.smallImageUrl}" height="40" width="40" url-mode="content" alt="${product.internalName}"/>
-                                        </container>
-
-                                        <!-- add Create Product and View Product (in ecommerce) links -->
-                                        <container style="button-bar">
-                                            <link target="EditProduct" text="${uiLabelMap.ProductNewProduct}" style="buttontext create"/>
-                                            <link target="CreateVirtualWithVariantsForm" text="${uiLabelMap.ProductNewVirtualProduct}" style="buttontext create"/>
-                                            <link target="/ecommerce/control/product" url-mode="inter-app" text="${uiLabelMap.ProductProductPage}" style="buttontext">
-                                                <parameter param-name="product_id" from-field="productId"/>
-                                            </link>
-                                            <link target="ProductBarCode.pdf" target-window="_blank" text="${uiLabelMap.ProductBarcode}" style="buttontext">
-                                                <parameter param-name="productId"/>
-                                            </link>
-
-                                            <link target="javascript:expandAll(true);"  text="${uiLabelMap.CommonExpandAll}" style="buttontext expand-all" url-mode="plain"/>
-                                            <link target="javascript:expandAll(false);" text="${uiLabelMap.CommonCollapseAll}" style="buttontext collapse-all" url-mode="plain"/>
-                                        </container>
-                                    </widgets>
-                                </section>
-                                <section>
-                                    <condition>
-                                        <or>
                                             <not><if-empty field="product"/></not>
                                             <not><if-empty field="parameters.bypassIfNoProduct"/></not>
-                                            <if-empty field="productId"/>
                                         </or>
                                     </condition>
                                     <widgets>
-                                        <decorator-section-include name="body"/>
+                                        <include-menu name="ProductTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/>                                        
+                                        <include-menu name="ProductSubTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/>
+                                        <image src="${product.smallImageUrl}" height="40" width="40" url-mode="content" alt="${product.internalName}"/>
+                                        <label style="h1">${uiLabelMap[labelTitleProperty]} ${uiLabelMap.CommonFor}: ${product.internalName} [${uiLabelMap.CommonId}:${productId}]  ${${extraFunctionName}}</label>
                                     </widgets>
                                     <fail-widgets>
-                                        <label style="h3">${uiLabelMap.ProductNoExistingProductsFound}</label>
+                                        <section>
+                                            <condition>
+                                                <if-compare operator="not-equals" value="EditProduct" field="tabButtonItem"/>
+                                            </condition>
+                                            <widgets>
+                                                <include-menu name="ProductSubTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/>
+                                            </widgets>
+                                        </section>
                                     </fail-widgets>
                                 </section>
+                                <decorator-section-include name="body"/>
                             </widgets>
                             <fail-widgets>
                                 <label style="h3">${uiLabelMap.ProductCatalogViewPermissionError}</label>
@@ -129,11 +102,6 @@ under the License.
                             </condition>
                             <widgets>
                                 <decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
-                                    <decorator-section name="menu-bar">
-                                        <container style="button-bar">
-                                            <link target="EditProduct" text="${uiLabelMap.ProductNewProduct}" style="buttontext create"/>
-                                        </container>
-                                    </decorator-section>
                                     <decorator-section name="search-options">
                                         <include-form name="FindProduct" location="component://product/widget/catalog/ProductForms.xml"/>
                                     </decorator-section>
@@ -1427,4 +1395,36 @@ under the License.
             </widgets>
         </section>
     </screen>
+    
+    <screen name="ProductPriceHistory">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleProductPricesHistory"/>
+                <set field="tabButtonItem" value="EditProductPrices"/>
+                <set field="labelTitleProperty" value="PageTitleProductPricesHistory"/>
+                <set field="productId" from-field="parameters.productId"/>
+                <entity-one entity-name="Product" value-field="product"/>
+                <entity-and entity-name="ProductPriceChange" list="productPricesChanges">
+                    <field-map field-name="productId" from-field="productId"/>
+                    <field-map field-name="productPriceTypeId" from-field="parameters.productPriceTypeId"/>
+                    <field-map field-name="fromDate" from-field="parameters.fromDate"/>
+                    <order-by field-name="fromDate"/>
+                </entity-and>
+
+                <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonProductDecorator" location="${parameters.productDecoratorLocation}">
+                    <decorator-section name="body">
+                        <link target="EditProductPrices" text="${uiLabelMap.CommonBack}" style="buttontext">
+                            <parameter param-name="productId"/>
+                        </link>
+                        <screenlet title="${uiLabelMap.PageTitleProductPricesHistory}">
+                            <include-form name="ListProductPriceHistory" location="component://product/widget/catalog/ProductForms.xml"/>
+                        </screenlet>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
 </screens>

Modified: ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/WebAnalyticsForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/WebAnalyticsForms.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/WebAnalyticsForms.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/WebAnalyticsForms.xml Sun May 29 11:02:09 2011
@@ -44,7 +44,6 @@ under the License.
                 </entity-options>
             </drop-down>
         </field>
-        <field name="contentId"><text-find/></field>
         <field name="searchButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
 
@@ -68,13 +67,6 @@ under the License.
         <field name="webAnalyticsTypeId" title="${uiLabelMap.CommonType}"><display-entity entity-name="WebAnalyticsType"/></field>
         <field name="isEnabled" title="${uiLabelMap.CommonEnabled}" sort-field="true"><display/></field>
         <field name="webSiteId" sort-field="true"><display/></field>
-        <field name="contentId" widget-style="buttontext">
-            <display-entity entity-name="Content">
-                <sub-hyperlink target="/content/control/editContent" target-type="inter-app" description="${contentId}" link-style="buttontext">
-                    <parameter param-name="contentId"/>
-                </sub-hyperlink>
-            </display-entity>        
-        </field>
         <field name="editLink" title="${uiLabelMap.CommonEdit}" widget-style="buttontext">
             <hyperlink also-hidden="false" description="${uiLabelMap.CommonEdit}" target="EditWebAnalyticsConfig">
                 <parameter param-name="productStoreId"/>
@@ -118,9 +110,6 @@ under the License.
                 <option key="N" description="${uiLabelMap.CommonNo}"/>
             </drop-down>
         </field>
-        <field name="contentId">
-            <lookup target-form-name="LookupContent"/>
-        </field>
         <field use-when="webAnalyticsConfig!=null" name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
         <field use-when="webAnalyticsConfig==null" name="submitButton" title="${uiLabelMap.CommonCreate}" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortEntityLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortEntityLabels.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortEntityLabels.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortEntityLabels.xml Sun May 29 11:02:09 2011
@@ -152,7 +152,7 @@
     </property>
     <property key="WorkEffortPurposeType.description.ROU_SUBCONTRACTING">
         <value xml:lang="en">Sub-contracting</value>
-        <value xml:lang="fr">Sous-contractant</value>
+        <value xml:lang="fr">Sous-traitance</value>
         <value xml:lang="it">Sotto-contratto</value>
         <value xml:lang="ro">Sub-contract</value>
         <value xml:lang="ru">Субподряд</value>

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortUiLabels.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortUiLabels.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortUiLabels.xml Sun May 29 11:02:09 2011
@@ -1220,14 +1220,14 @@
     </property>
     <property key="PageTitleListWorkEffortFixedAssetAssigns">
         <value xml:lang="en">Work Effort Fixed Asset Assignments</value>
-        <value xml:lang="fr">Affectations d'une tâche à une immobilisation</value>
+        <value xml:lang="fr">Immobilisations affectées à la tâche</value>
         <value xml:lang="it">Assegnazioni impegno di lavoro a cespite</value>
         <value xml:lang="zh">人工服务固定资产分配</value>
         <value xml:lang="zh_TW">工項固定資產分配</value>
     </property>
     <property key="PageTitleListWorkEffortKeyword">
         <value xml:lang="en">Work Effort Keywords</value>
-        <value xml:lang="fr">Mots-clé de la tâche</value>
+        <value xml:lang="fr">Mots-clés de la tâche</value>
         <value xml:lang="it">Chiavi dell'impegno di lavoro</value>
         <value xml:lang="th">คีย์เวิร์ดงาน</value>
         <value xml:lang="zh">人工服务关键字</value>

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/src/org/ofbiz/workeffort/workeffort/ICalWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/src/org/ofbiz/workeffort/workeffort/ICalWorker.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/src/org/ofbiz/workeffort/workeffort/ICalWorker.java (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/src/org/ofbiz/workeffort/workeffort/ICalWorker.java Sun May 29 11:02:09 2011
@@ -92,7 +92,7 @@ public class ICalWorker {
      *
      * @param statusMessage Optional status message - usually <code>null</code>
      * for security reasons
-     * @return
+     * @return Create an HTTP Forbidden response
      */
     public static ResponseProperties createForbiddenResponse(String statusMessage) {
         return new ResponseProperties(HttpServletResponse.SC_FORBIDDEN, statusMessage);
@@ -105,7 +105,7 @@ public class ICalWorker {
      *
      * @param statusMessage Optional status message - usually <code>null</code>
      * for security reasons
-     * @return
+     * @return Create an HTTP Unauthorized response
      */
     public static ResponseProperties createNotAuthorizedResponse(String statusMessage) {
         return new ResponseProperties(HttpServletResponse.SC_UNAUTHORIZED, statusMessage);
@@ -124,7 +124,7 @@ public class ICalWorker {
      *
      * @param statusMessage A message describing which calendar components were
      * not updated
-     * @return
+     * @return Create an HTTP Partial Content response.
      */
     public static ResponseProperties createPartialContentResponse(String statusMessage) {
         return new ResponseProperties(HttpServletResponse.SC_PARTIAL_CONTENT, statusMessage);

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java Sun May 29 11:02:09 2011
@@ -890,9 +890,9 @@ public class WorkEffortServices {
     }
 
     /** Process work effort event reminders. This service is used by the job scheduler.
-     * @param ctx
-     * @param context
-     * @return
+     * @param ctx the dispatch context
+     * @param context the context
+     * @return returns the result of the service execution
      */
     public static Map<String, Object> processWorkEffortEventReminders(DispatchContext ctx, Map<String, ? extends Object> context) {
         Delegator delegator = ctx.getDelegator();
@@ -1095,9 +1095,9 @@ public class WorkEffortServices {
     }
 
     /** Migrate work effort event reminders.
-     * @param ctx
-     * @param context
-     * @return
+     * @param ctx the dispatch context
+     * @param context the context
+     * @return returns the result of the service execution
      */
     public static Map<String, Object> migrateWorkEffortEventReminders(DispatchContext ctx, Map<String, ? extends Object> context) {
         Delegator delegator = ctx.getDelegator();

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy Sun May 29 11:02:09 2011
@@ -62,6 +62,13 @@ if (hideEvents) {
     urlParam = urlParam + "hideEvents=" + hideEvents;
 }
 
+if (parameters.portalPageId) {
+    if (urlParam) {
+        urlParam = urlParam + "&";
+    }
+    urlParam = urlParam + "portalPageId=" + parameters.portalPageId;
+}
+
 if (urlParam) {
     urlParam = "&" + urlParam;
 }

Modified: ofbiz/branches/jackrabbit20100709/build.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/build.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/build.xml (original)
+++ ofbiz/branches/jackrabbit20100709/build.xml Sun May 29 11:02:09 2011
@@ -251,19 +251,36 @@ under the License.
         <echo message="[docs-all] ========== Start Building (JavaDoc) =========="/>
 
         <mkdir dir="${site.dir}/javadocs"/>
-        <default-javadoc packagenames="org.ofbiz.*"
-                destdir="${site.dir}/javadocs"
-                maxmemory="256M"
-                windowtitle="Open for Business - API"
-                useexternalfile="yes">
-            <fileset dir="${basedir}" defaultexcludes="yes">
-                <include name="**/*.java"/>
-                <exclude name="**/ControlApplet.java"/>
-                <exclude name="**/ShipmentScaleApplet.java"/>
-                <exclude name="**/test/"/>
-            </fileset>
-        </default-javadoc>
-
+        
+        <path id="local.class.path">
+          <fileset dir="${ofbiz.home.dir}/framework/base/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/base/lib/commons" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/base/lib/j2eespecs" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/base/lib/scripting" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/birt/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/catalina/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/entity/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/geronimo/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/guiapp/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/jetty/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/service/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/testtools/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/webapp/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/webapp/build/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/framework/webslinger/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/specialpurpose/ebaystore/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/specialpurpose/googlecheckout/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/specialpurpose/ldap/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/specialpurpose/pos/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/applications/content/lib" includes="*.jar"/>
+          <fileset dir="${ofbiz.home.dir}/applications/product/lib" includes="*.jar"/>
+        </path>
+        
+        <property name="desc" value="API"/>
+        <property name="build.dir" value="${site.dir}"/>
+        
+        <default-javadoc/>
+        
         <echo message="[docs-all] ========== Done Building (JavaDocs) =========="/>
    </target>
 
@@ -805,7 +822,7 @@ under the License.
         </cobertura-report>
     </target>
 
-    <target name="sonar" depends="download-sonar-ant-task, sonar-init, cobertura-report-xml"
+    <target name="sonar" depends="download-sonar-ant-task, sonar-init"
             description="Sonar code analysis. You need a Sonar instance running to use it. More info on http://www.sonarsource.org/">
         <exec executable="svn" dir="." output="runtime/svninfo_tmp.xml">
             <arg value="info"/>
@@ -864,9 +881,25 @@ under the License.
             <property key="sonar.cobertura.reportPath" value="runtime/logs/cobertura-report/coverage.xml"/>
             <property key="sonar.java.source" value="1.6" />
             <property key="sonar.java.target" value="1.6" />
+            <property key="sonar.jdbc.url"
+               value="jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8" />
+            <property key="sonar.jdbc.driverClassName" value="com.mysql.jdbc.Driver" />
+            <property key="sonar.jdbc.username" value="${sonar.jdbc.username}" />
+            <property key="sonar.jdbc.password" value="${sonar.jdbc.password}" />
+
+            <!-- SERVER ON A REMOTE HOST -->
+            <property key="sonar.host.url" value="${sonar.host.url}" />
         </sonar:sonar>
     </target>
 
+    <target name="full-sonar">
+        <antcall target="clean-all"/>
+        <antcall target="run-install"/>
+        <antcall target="run-tests"/>
+        <antcall target="cobertura-report-xml"/>
+        <antcall target="sonar"/>
+    </target>
+
     <!-- ================================================================== -->
     <!--    Ivy targets, more info at  http://ant.apache.org/ivy/  -->
     <!-- ================================================================== -->

Modified: ofbiz/branches/jackrabbit20100709/common.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/common.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/common.xml (original)
+++ ofbiz/branches/jackrabbit20100709/common.xml Sun May 29 11:02:09 2011
@@ -57,10 +57,8 @@ under the License.
     <target name="init"/>
 
     <if>
-        <condition>
-            <available file="${src.dir}"/>
-        </condition>
-        <commands>
+        <available file="${src.dir}"/>
+        <then>
             <selector id="src-extra-set">
                 <or>
                     <filename name="**/*.properties"/>
@@ -76,7 +74,7 @@ under the License.
                 </or>
             </selector>
             <property name="src.extra.dir" value="${src.dir}"/>
-        </commands>
+        </then>            
         <else>
             <selector id="src-extra-set">
                 <filename name="**" negate="true"/>
@@ -102,12 +100,7 @@ under the License.
     <!-- ================================================================== -->
 
     <target name="docs" depends="prepare-docs">
-        <default-javadoc sourcepathref="src-path">
-            <fileset dir="${src.dir}">
-                <patternset refid="src.inc.set"/>
-                <patternset refid="src.exc.set"/>
-            </fileset>
-        </default-javadoc>
+        <default-javadoc/>
     </target>
 
     <macrodef name="run-junit">

Modified: ofbiz/branches/jackrabbit20100709/framework/base/config/cache.properties
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/base/config/cache.properties?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/base/config/cache.properties (original)
+++ ofbiz/branches/jackrabbit20100709/framework/base/config/cache.properties Sun May 29 11:02:09 2011
@@ -28,12 +28,12 @@
 #default.useSoftReference=false
 
 # No maxSize for properties.UtilPropertiesResourceCache
-properties.UtilPropertiesResourceCache.maxSize=0
-properties.UtilPropertiesResourceCache.expireTime=0
+#properties.UtilPropertiesResourceCache.maxSize=0
+#properties.UtilPropertiesResourceCache.expireTime=0
 
 # No maxSize for properties.UtilPropertiesUrlCache
-properties.UtilPropertiesUrlCache.maxSize=0
-properties.UtilPropertiesUrlCache.expireTime=0
+#properties.UtilPropertiesUrlCache.maxSize=0
+#properties.UtilPropertiesUrlCache.expireTime=0
 
 # This should be increased if more users will be simultaneously on the system.
 security.UserLoginSecurityGroupByUserLoginId.maxSize=1000

Modified: ofbiz/branches/jackrabbit20100709/framework/base/dtd/ofbiz-component.xsd
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/base/dtd/ofbiz-component.xsd?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/base/dtd/ofbiz-component.xsd (original)
+++ ofbiz/branches/jackrabbit20100709/framework/base/dtd/ofbiz-component.xsd Sun May 29 11:02:09 2011
@@ -39,7 +39,16 @@ under the License.
     </xs:attributeGroup>
     <xs:element name="depends-on">
         <xs:complexType>
-            <xs:attributeGroup ref="attlist.depends-on"/>
+            <xs:attributeGroup ref="attlist.depends-on">
+                <xs:annotation>
+                    <xs:documentation>
+                        This is yet unimplemented. It's not a trivial implementation because at the moment components are loaded
+                        in the order they are found (i.e. alphabetic or creation date).
+                        While this feature would require them all to be located first and then reordered and loaded.
+                        So, for now, simply follow the README file in hot-deploy root folder.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attributeGroup>
         </xs:complexType>
     </xs:element>
     <xs:attributeGroup name="attlist.depends-on">

Modified: ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/container/ContainerLoader.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/container/ContainerLoader.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/container/ContainerLoader.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/container/ContainerLoader.java Sun May 29 11:02:09 2011
@@ -29,7 +29,6 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.ofbiz.base.start.Config;
-import org.ofbiz.base.start.Start;
 import org.ofbiz.base.start.StartupException;
 import org.ofbiz.base.start.StartupLoader;
 import org.ofbiz.base.util.Debug;
@@ -69,7 +68,7 @@ public class ContainerLoader implements
     private boolean loaded = false;
 
     /**
-     * @see org.ofbiz.base.start.StartupLoader#load(Start.Config, String[])
+     * @see org.ofbiz.base.start.StartupLoader#load(Config, String[])
      */
     public synchronized void load(Config config, String args[]) throws StartupException {
         if (this.loaded || this.unloading) {

Modified: ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/Base64.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/Base64.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/Base64.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/Base64.java Sun May 29 11:02:09 2011
@@ -209,9 +209,6 @@ public class Base64 {
         if (str == null) {
             return null;
         }
-        byte data[] = new byte[str.length()];
-
-        data = str.getBytes();
-        return new String(base64Encode(data));
+        return new String(base64Encode(str.getBytes()));
     }
 }

Modified: ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/CompilerMatcher.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/CompilerMatcher.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/CompilerMatcher.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/CompilerMatcher.java Sun May 29 11:02:09 2011
@@ -45,7 +45,7 @@ public class CompilerMatcher {
      * ThreadLocal causes slightly extra memory usage, but allows for faster
      * thread-safe processing than synchronization would afford.
      *
-     * @return
+     * @return returns the ThreadLocal
      */
     public static ThreadLocal<CompilerMatcher> getThreadLocal() {
         return new ThreadLocal<CompilerMatcher>() {
@@ -61,9 +61,9 @@ public class CompilerMatcher {
      * expression argument matches the aString argument.
      * Case sensitive
      *
-     * @param aString
-     * @param patternString
-     * @return
+     * @param aString a string
+     * @param patternString a string pattern
+     * @return returns true if the compiled version of the patternString regular expression argument matches the aString argument
      * @throws MalformedPatternException
      */
     public boolean matches(String aString, String patternString) throws MalformedPatternException {
@@ -73,10 +73,10 @@ public class CompilerMatcher {
     /**
      * Returns true if the compiled version of the patternString regular
      * expression argument matches the aString argument.
-     * @param aString
-     * @param patternString
-     * @param caseSensitive
-     * @return
+     * @param aString a string
+     * @param patternString a string pattern
+     * @param caseSensitive case sensitive true/false
+     * @return returns true if the compiled version of the patternString regular expression argument matches the aString argument
      * @throws MalformedPatternException
      */
     public boolean matches(String aString, String patternString, boolean caseSensitive) throws MalformedPatternException {
@@ -88,9 +88,9 @@ public class CompilerMatcher {
      * Returns true if the compiled version of the patternString regular
      * expression argument is contained in the aString argument.
      *
-     * @param aString
-     * @param patternString
-     * @return
+     * @param aString a string
+     * @param patternString a pattern string
+     * @return Returns true if the compiled version of the patternString regular expression argument is contained in the aString argument
      * @throws MalformedPatternException
      */
     public boolean contains(String aString, String patternString) throws MalformedPatternException {
@@ -100,8 +100,8 @@ public class CompilerMatcher {
     /**
      * Compiles and caches a case sensitive regexp pattern for the given string pattern.
      *
-     * @param stringPattern
-     * @return
+     * @param stringPattern a pattern string
+     * @return compiles and caches a case sensitive regexp pattern for the given string pattern
      * @throws MalformedPatternException
      */
     private Pattern getTestPattern(String stringPattern) throws MalformedPatternException {
@@ -111,9 +111,9 @@ public class CompilerMatcher {
     /**
      * Compiles and caches a regexp pattern for the given string pattern.
      *
-     * @param stringPattern
-     * @param caseSensitive
-     * @return
+     * @param stringPattern a pattern string
+     * @param caseSensitive case sensitive true/false
+     * @return compiles and caches a regexp pattern for the given string pattern
      * @throws MalformedPatternException
      */
     private Pattern getTestPattern(String stringPattern, boolean caseSensitive) throws MalformedPatternException {
@@ -135,9 +135,9 @@ public class CompilerMatcher {
      * Perl5Util's substitute() function implements Perl's s/// operator.
      * It takes two arguments: a substitution expression, and an input.
      *
-     * @param stringPattern
-     * @param input
-     * @return
+     * @param stringPattern a pattern string
+     * @param input the input string
+     * @return returns the perl5Util's substitute() function implements Perl's
      */
     public String substitute(String stringPattern, String input) {
         return this.perl5Util.substitute(stringPattern, input);

Modified: ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/cache/UtilCache.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/cache/UtilCache.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/cache/UtilCache.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/cache/UtilCache.java Sun May 29 11:02:09 2011
@@ -190,9 +190,11 @@ public class UtilCache<K, V> implements
     public static String getPropertyParam(ResourceBundle res, String[] propNames, String parameter) {
         try {
             for (String propName: propNames) {
-                try {
-                    return res.getString(propName + '.' + parameter);
-                } catch (MissingResourceException e) {}
+         if(res.containsKey(propName+ '.' + parameter)) {
+            try {
+         return res.getString(propName + '.' + parameter);
+            } catch (MissingResourceException e) {}
+         }
             }
             // don't need this, just return null
             //if (value == null) {

Modified: ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/collections/ResourceBundleMapWrapper.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/collections/ResourceBundleMapWrapper.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/collections/ResourceBundleMapWrapper.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/collections/ResourceBundleMapWrapper.java Sun May 29 11:02:09 2011
@@ -20,7 +20,6 @@ package org.ofbiz.base.util.collections;
 
 import java.io.Serializable;
 import java.util.Collection;
-import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.MissingResourceException;
@@ -154,47 +153,71 @@ public class ResourceBundleMapWrapper im
     public static class InternalRbmWrapper implements Map<String, Object>, Serializable {
         protected ResourceBundle resourceBundle;
         protected Map<String, Object> topLevelMap;
+        private boolean isMapInitialized = false;
 
         public InternalRbmWrapper(ResourceBundle resourceBundle) {
             if (resourceBundle == null) {
                 throw new IllegalArgumentException("Cannot create InternalRbmWrapper with a null ResourceBundle.");
             }
             this.resourceBundle = resourceBundle;
-            topLevelMap = new HashMap<String, Object>();
-            // NOTE: this does NOT return all keys, ie keys from parent ResourceBundles, so we keep the resourceBundle object to look at when the main Map doesn't have a certain value
+        }
+
+        /**
+         * Creates the topLevelMap only when it is required
+         */
+        private void createMapWhenNeeded() {
+            if (isMapInitialized) {
+                return;
+            }
+            // NOTE: this does NOT return all keys, ie keys from parent
+            // ResourceBundles, so we keep the resourceBundle object to look at
+            // when the main Map doesn't have a certain value
             if (resourceBundle != null) {
-                Enumeration<String> keyNum = resourceBundle.getKeys();
-                while (keyNum.hasMoreElements()) {
-                    String key = keyNum.nextElement();
-                    //resourceBundleMap.put(key, bundle.getObject(key));
+                Set<String> set = resourceBundle.keySet();
+                topLevelMap = new HashMap<String, Object>(set.size());
+                for (String key : set) {
                     Object value = resourceBundle.getObject(key);
                     topLevelMap.put(key, value);
                 }
+            } else {
+                topLevelMap = new HashMap<String, Object>(1);
             }
             topLevelMap.put("_RESOURCE_BUNDLE_", resourceBundle);
+            isMapInitialized = true;
         }
 
+
         /* (non-Javadoc)
          * @see java.util.Map#size()
          */
-        public int size() {
-            // this is an approximate size, won't include elements from parent bundles
-            return topLevelMap.size() - 1;
+        public int size() {            
+            if(isMapInitialized) {
+                // this is an approximate size, won't include elements from parent bundles
+                return topLevelMap.size() -1;
+            } else {
+                return resourceBundle.keySet().size();                        
+            }
         }
 
         /* (non-Javadoc)
          * @see java.util.Map#isEmpty()
          */
         public boolean isEmpty() {
-            return topLevelMap.isEmpty();
+            if (isMapInitialized) {
+                return topLevelMap.isEmpty();
+            } else {
+                return resourceBundle.keySet().size() == 0;
+            }
         }
 
         /* (non-Javadoc)
          * @see java.util.Map#containsKey(java.lang.Object)
          */
         public boolean containsKey(Object arg0) {
-            if (topLevelMap.containsKey(arg0)) {
-                return true;
+            if (isMapInitialized) {
+                if (topLevelMap.containsKey(arg0)) {
+                    return true;
+                }
             } else {
                 try {
                     if (this.resourceBundle.getObject((String) arg0) != null) {
@@ -203,7 +226,8 @@ public class ResourceBundleMapWrapper im
                 } catch (NullPointerException e) {
                     // happens when arg0 is null
                 } catch (MissingResourceException e) {
-                    // nope, not found... nothing, will automatically return false below
+                    // nope, not found... nothing, will automatically return
+                    // false below
                 }
             }
             return false;
@@ -220,7 +244,11 @@ public class ResourceBundleMapWrapper im
          * @see java.util.Map#get(java.lang.Object)
          */
         public Object get(Object arg0) {
-            Object value = this.topLevelMap.get(arg0);
+            Object value = null;
+            if(isMapInitialized) {
+                value = this.topLevelMap.get(arg0);
+            }
+
             if (resourceBundle != null) {
                 if (value == null) {
                     try {
@@ -229,19 +257,12 @@ public class ResourceBundleMapWrapper im
                         // do nothing, this will be handled by recognition that the value is still null
                     }
                 }
-                if (value == null) {
-                    try {
-                        value = this.resourceBundle.getString((String) arg0);
-                    } catch (MissingResourceException mre) {
-                        // do nothing, this will be handled by recognition that the value is still null
-                    }
-                }
             }
             /* we used to do this here, but now we'll do it in the top-level class since doing it here would prevent searching down the stack
             if (value == null) {
                 value = arg0;
             }
-            */
+             */
             return value;
         }
 
@@ -277,6 +298,7 @@ public class ResourceBundleMapWrapper im
          * @see java.util.Map#keySet()
          */
         public Set<String> keySet() {
+            createMapWhenNeeded();
             return this.topLevelMap.keySet();
         }
 
@@ -284,6 +306,7 @@ public class ResourceBundleMapWrapper im
          * @see java.util.Map#values()
          */
         public Collection<Object> values() {
+            createMapWhenNeeded();
             return this.topLevelMap.values();
         }
 
@@ -291,6 +314,7 @@ public class ResourceBundleMapWrapper im
          * @see java.util.Map#entrySet()
          */
         public Set<Map.Entry<String, Object>> entrySet() {
+            createMapWhenNeeded();
             return this.topLevelMap.entrySet();
         }
 

Modified: ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java Sun May 29 11:02:09 2011
@@ -178,7 +178,6 @@ public class FreeMarkerWorker {
      * @param templateLocation A unique ID for this template - used for caching
      * @param context The context Map
      * @param outWriter The Writer to render to
-     * @param useCache try to get template from cache
      */
     public static void renderTemplate(String templateLocation, Map<String, Object> context, Appendable outWriter) throws TemplateException, IOException {
         Template template = getTemplate(templateLocation);
@@ -186,7 +185,7 @@ public class FreeMarkerWorker {
     }
 
     /**
-     * @deprecated, replaced by {@link #renderTemplateFromString(String templateString, String templateLocation, Map<String, Object> context, Appendable outWriter, boolean useCache)}
+     * @deprecated Renamed to {@link #renderTemplateFromString(String, String, Map, Appendable, boolean)}
      */
     @Deprecated
     public static Environment renderTemplateFromString(String templateString, String templateLocation, Map<String, Object> context, Appendable outWriter) throws TemplateException, IOException {

Modified: ofbiz/branches/jackrabbit20100709/framework/base/testdef/basetests.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/base/testdef/basetests.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/base/testdef/basetests.xml (original)
+++ ofbiz/branches/jackrabbit20100709/framework/base/testdef/basetests.xml Sun May 29 11:02:09 2011
@@ -31,8 +31,8 @@
         <junit-test-suite class-name="org.ofbiz.base.util.cache.test.UtilCacheTests"/>
         <junit-test-suite class-name="org.ofbiz.base.conversion.test.DateTimeTests"/>
         <junit-test-suite class-name="org.ofbiz.base.conversion.test.MiscTests"/>
-        <junit-test-suite class-name="org.ofbiz.base.concurrent.test.DepedencyPoolTests"/>
-        <junit-test-suite class-name="org.ofbiz.base.util.test.JSONTests"/>
+        <junit-test-suite class-name="org.ofbiz.base.concurrent.test.DependencyPoolTests"/>
+        <junit-test-suite class-name="org.ofbiz.base.json.test.JSONTests"/>
         <junit-test-suite class-name="org.ofbiz.base.util.test.UtilIOTests"/>
         <junit-test-suite class-name="org.ofbiz.base.test.BaseUnitTests"/>
     </test-group>

Modified: ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/email/BirtEmailServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/email/BirtEmailServices.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/email/BirtEmailServices.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/email/BirtEmailServices.java Sun May 29 11:02:09 2011
@@ -66,9 +66,9 @@ public class BirtEmailServices {
     /**
      * send birt mail
      *
-     * @param ctx
-     * @param context
-     * @return
+     * @param ctx the dispatch context
+     * @param context the context
+     * @return returns the result of the service execution
      */
     public static Map<String, Object> sendBirtMail(DispatchContext ctx, Map<String, ? extends Object> context) {
         Map<String, Object> serviceContext = UtilMisc.makeMapWritable(context);

Modified: ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/report/service/OFBizBirtViewerReportService.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/report/service/OFBizBirtViewerReportService.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/report/service/OFBizBirtViewerReportService.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/report/service/OFBizBirtViewerReportService.java Sun May 29 11:02:09 2011
@@ -123,11 +123,10 @@ public class OFBizBirtViewerReportServic
      * Run report.
      *
      * @param request
-     *
      * @param runnable
-     * @param archive
      * @param documentName
      * @param locale
+     * @param timeZone
      * @param parameters
      * @param displayTexts
      * @param maxRows

Modified: ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/widget/BirtFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/widget/BirtFactory.java?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/widget/BirtFactory.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/birt/src/org/ofbiz/birt/widget/BirtFactory.java Sun May 29 11:02:09 2011
@@ -36,7 +36,7 @@ public class BirtFactory {
     /**
      * get report input stream from location
      * @param resourceName
-     * @return
+     * @return returns the input stream from location
      * @throws IOException
      * @throws SAXException
      * @throws ParserConfigurationException

Modified: ofbiz/branches/jackrabbit20100709/framework/common/config/CommonUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/common/config/CommonUiLabels.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/common/config/CommonUiLabels.xml (original)
+++ ofbiz/branches/jackrabbit20100709/framework/common/config/CommonUiLabels.xml Sun May 29 11:02:09 2011
@@ -114,6 +114,9 @@
         <value xml:lang="zh_CN">目录</value>
         <value xml:lang="zh_TW">目錄</value>
     </property>
+    <property key="CommonAbort">
+        <value xml:lang="en">Abort</value>
+    </property>
     <property key="CommonAccepted">
         <value xml:lang="ar">مقبول</value>
         <value xml:lang="de">Angenommen</value>
@@ -372,6 +375,10 @@
         <value xml:lang="zh_CN">地址栏</value>
         <value xml:lang="zh_TW">地址線</value>
     </property>
+    <property key="CommonAddressNotFound">
+        <value xml:lang="de">Die Adresse wurde nicht gefunden.</value>
+        <value xml:lang="en">Address not found.</value>
+    </property>
     <property key="CommonAddresses">
         <value xml:lang="ar">عناوين</value>
         <value xml:lang="de">Adressen</value>
@@ -854,6 +861,12 @@
         <value xml:lang="zh_CN">八月</value>
         <value xml:lang="zh_TW">八月</value>
     </property>
+    <property key="CommonAuthenticate">
+        <value xml:lang="en">Authenticate</value>
+    </property>
+    <property key="CommonAuthorise">
+        <value xml:lang="en">Authorise</value>
+    </property>
     <property key="CommonAutoAssignedId">
         <value xml:lang="en">Unique ID - auto-assigned if blank</value>
         <value xml:lang="es">Código único - asignado automáticamente si se deja en blanco</value>
@@ -1067,6 +1080,22 @@
         <value xml:lang="zh_CN">被</value>
         <value xml:lang="zh_TW">作者</value>
     </property>
+    <property key="CommonCDyneAddressError">
+        <value xml:lang="en">Got AddressError=true from CDyne ReturnCityState service; zipcode=${zipcode}</value>
+        <value xml:lang="it">Ottenuto AddressError=true dal servizio CDyne ReturnCityState; zipcode=${zipcode}</value>
+    </property>
+    <property key="CommonCDyneCallingError">
+        <value xml:lang="en">Error calling CDyne service at URL ${serviceUrl}: ${errorString}</value>
+        <value xml:lang="it">Errore durante la chiamata del servizio CDyne dell'URL ${serviceUrl}: ${errorString})</value>
+    </property>
+    <property key="CommonCDyneParsingError">
+        <value xml:lang="en">Error parsing XML result from CDyne service at URL ${serviceUrl}: ${errorString}</value>
+        <value xml:lang="it">Errore di parsing XML risposta dal servizio CDyne dell'URL ${serviceUrl}: ${errorString})</value>
+    </property>
+    <property key="CommonCDyneServiceError">
+        <value xml:lang="en">Got ServiceError=true from CDyne ReturnCityState service; zipcode=${zipcode}</value>
+        <value xml:lang="it">Ottenuto ServiceError=true dal servizio CDyne ReturnCityState; zipcode=${zipcode}</value>
+    </property>
     <property key="CommonCancel">
         <value xml:lang="ar">إلغاء</value>
         <value xml:lang="cs">Storno</value>
@@ -1152,22 +1181,6 @@
         <value xml:lang="en">Captcha Code</value>
         <value xml:lang="pt_BR">Código Captcha</value>
     </property>
-    <property key="CommonCDyneAddressError">
-        <value xml:lang="en">Got AddressError=true from CDyne ReturnCityState service; zipcode=${zipcode}</value>
-        <value xml:lang="it">Ottenuto AddressError=true dal servizio CDyne ReturnCityState; zipcode=${zipcode}</value>
-    </property>
-    <property key="CommonCDyneCallingError">
-        <value xml:lang="en">Error calling CDyne service at URL ${serviceUrl}: ${errorString}</value>
-        <value xml:lang="it">Errore durante la chiamata del servizio CDyne dell'URL ${serviceUrl}: ${errorString})</value>
-    </property>
-    <property key="CommonCDyneParsingError">
-        <value xml:lang="en">Error parsing XML result from CDyne service at URL ${serviceUrl}: ${errorString}</value>
-        <value xml:lang="it">Errore di parsing XML risposta dal servizio CDyne dell'URL ${serviceUrl}: ${errorString})</value>
-    </property>
-    <property key="CommonCDyneServiceError">
-        <value xml:lang="en">Got ServiceError=true from CDyne ReturnCityState service; zipcode=${zipcode}</value>
-        <value xml:lang="it">Ottenuto ServiceError=true dal servizio CDyne ReturnCityState; zipcode=${zipcode}</value>
-    </property>
     <property key="CommonChange">
         <value xml:lang="ar">تغيير</value>
         <value xml:lang="de">Verändern</value>
@@ -2105,6 +2118,9 @@
         <value xml:lang="zh">缺省组织机构</value>
         <value xml:lang="zh_TW">預設組織機構</value>
     </property>
+    <property key="CommonDeferred">
+        <value xml:lang="en">Deferred</value>
+    </property>
     <property key="CommonDelete">
         <value xml:lang="ar">حذف</value>
         <value xml:lang="cs">Smazat</value>
@@ -2390,6 +2406,14 @@
         <value xml:lang="en">Email already exist</value>
         <value xml:lang="pt_BR">E-mail já existe</value>
     </property>
+    <property key="CommonEmailDeliveryFailed">
+        <value xml:lang="en">Delivery to the following recipient(s) failed:</value>
+        <value xml:lang="it">Consegna ai seguenti destinatario(i) fallita:</value>
+    </property>
+    <property key="CommonEmailDeliveryOriginalMessage">
+        <value xml:lang="en">----- Original message -----</value>
+        <value xml:lang="it">----- messaggio originale -----</value>
+    </property>
     <property key="CommonEmailNotValid">
         <value xml:lang="en">PartyId: ${parameters.partyIdTo} has no valid email address!</value>
         <value xml:lang="it">Id soggetto: ${parameters.partyIdTo} non ha un'indirizzo e-mail valido!</value>
@@ -2422,14 +2446,6 @@
         <value xml:lang="en">[CON] Connection error when sending message to ${sendTo} from ${sendFrom} cc ${sendCc} bcc ${sendBcc} subject ${subject}</value>
         <value xml:lang="it">[CON] Errore connessione durante l'invio del messaggio a ${sendTo} da ${sendFrom} cc ${sendCc} cn ${sendBcc} soggetto ${subject}</value>
     </property>
-    <property key="CommonEmailDeliveryFailed">
-        <value xml:lang="en">Delivery to the following recipient(s) failed:</value>
-        <value xml:lang="it">Consegna ai seguenti destinatario(i) fallita:</value>
-    </property>
-    <property key="CommonEmailDeliveryOriginalMessage">
-        <value xml:lang="en">----- Original message -----</value>
-        <value xml:lang="it">----- messaggio originale -----</value>
-    </property>
     <property key="CommonEmailSendError">
         <value xml:lang="en">Error send email: ${errorString}</value>
         <value xml:lang="it">Errore invio email: ${errorString}</value>
@@ -2438,22 +2454,22 @@
         <value xml:lang="en">Error getting content: ${errorString}</value>
         <value xml:lang="it">Errore nel ricavare contenuto: ${errorString}</value>
     </property>
-    <property key="CommonEmailSendMalformedUrl">
-        <value xml:lang="en">Malformed URL: ${bodyUrl}; error was: ${errorString}</value>
-        <value xml:lang="it">URL malformato : ${bodyUrl}; errore era: ${errorString}</value>
-    </property>
-    <property key="CommonEmailSendMissingParameterSendVia">
-        <value xml:lang="en">Parameter sendVia is required when sendType is not mail.smtp.host</value>
-        <value xml:lang="it">Parametro sendVia è richiesto quando sendType non è mail.smtp.host</value>
-    </property>
     <property key="CommonEmailSendIOException">
         <value xml:lang="en">IOException when creating message to ${sendTo} from ${sendFrom} cc ${sendCc} bcc ${sendBcc} subject ${subject}</value>
         <value xml:lang="it">IOException durante la creazione del messaggio a ${sendTo} da ${sendFrom} cc ${sendCc} cn ${sendBcc} soggetto ${subject}</value>
     </property>
+    <property key="CommonEmailSendMalformedUrl">
+        <value xml:lang="en">Malformed URL: ${bodyUrl}; error was: ${errorString}</value>
+        <value xml:lang="it">URL malformato : ${bodyUrl}; errore era: ${errorString}</value>
+    </property>
     <property key="CommonEmailSendMessagingException">
         <value xml:lang="en">MessagingException when creating message to ${sendTo} from ${sendFrom} cc ${sendCc} bcc ${sendBcc} subject ${subject}</value>
         <value xml:lang="it">MessagingException durante la creazione del messaggio a ${sendTo} da ${sendFrom} cc ${sendCc} cn ${sendBcc} soggetto ${subject}</value>
     </property>
+    <property key="CommonEmailSendMissingParameterSendVia">
+        <value xml:lang="en">Parameter sendVia is required when sendType is not mail.smtp.host</value>
+        <value xml:lang="it">Parametro sendVia è richiesto quando sendType non è mail.smtp.host</value>
+    </property>
     <property key="CommonEmailSendRenderingScreenEmailError">
         <value xml:lang="en">Error rendering screen for email: ${errorString}</value>
         <value xml:lang="it">Errore di visualizzazione videata per email: ${errorString}</value>
@@ -2527,7 +2543,11 @@
         <value xml:lang="zh_TW">電子郵件</value>
     </property>
     <property key="CommonEmptyHeader">
-        <value xml:lang="en" xml:space="preserve"> </value>
+        <value xml:lang="en" xml:space="preserve"> </value><!-- do not  remove this! -->
+    </property>
+    <property key="CommonEnable">
+        <value xml:lang="en">Enable</value>
+        <value xml:lang="th">เปิดใช้งาน</value>
     </property>
     <property key="CommonEnabled">
         <value xml:lang="ar">شغال</value>
@@ -2705,6 +2725,10 @@
         <value xml:lang="zh">错误: ${entity}状态无效,现在是${lookedUpValue.statusId},应该是${goodStatusId}。</value>
         <value xml:lang="zh_TW">錯誤: ${entity}狀態無效,現在是${lookedUpValue.statusId},應該是${goodStatusId}。</value>
     </property>
+    <property key="CommonErrorSubmittingForm">
+        <value xml:lang="de">Ein Fehler beim abschicken der Form ist aufgetreten.</value>
+        <value xml:lang="en">An error occurred submitting form.</value>
+    </property>
     <property key="CommonEventDate">
         <value xml:lang="ar">تاريخ الحدث</value>
         <value xml:lang="de">Ereignisdatum</value>
@@ -3935,6 +3959,10 @@
         <value xml:lang="zh_CN">标识</value>
         <value xml:lang="zh_TW">IDs</value>
     </property>
+    <property key="CommonImage">
+        <value xml:lang="en">Image</value>
+        <value xml:lang="th">รูปภาพ</value>
+    </property>
     <property key="CommonIn">
         <value xml:lang="ar">داخل</value>
         <value xml:lang="de">In</value>
@@ -4514,6 +4542,9 @@
         <value xml:lang="hi_IN">http://www.anywho.com/qry/wp_rl?npa=${telecomNumber.areaCode}&amp;telephone=${telecomNumber.contactNumber}&amp;btnsubmit.x=20&amp;btnsubmit.y=8</value>
         <value xml:lang="it">http://www.anywho.com/qry/wp_rl?npa=${telecomNumber.areaCode}&amp;telephone=${telecomNumber.contactNumber}&amp;btnsubmit.x=20&amp;btnsubmit.y=8</value>
     </property>
+    <property key="CommonLookupLocale">
+        <value xml:lang="en">Lookup Locale</value>
+    </property>
     <property key="CommonLookupWhitepages">
         <value xml:lang="en">Look up White pages</value>
         <value xml:lang="es">Páginas Blancas</value>
@@ -4583,6 +4614,10 @@
         <value xml:lang="zh">男</value>
         <value xml:lang="zh_TW">男</value>
     </property>
+    <property key="CommonManage">
+        <value xml:lang="en">Manage</value>
+        <value xml:lang="th">จัดการ</value>
+    </property>
     <property key="CommonManagePortalPages">
         <value xml:lang="en">Manage Portal Pages...</value>
         <value xml:lang="fr">Gérez les pages du portail...</value>
@@ -5447,10 +5482,6 @@
         <value xml:lang="zh_CN">当前没有任务,需要你的关注。</value>
         <value xml:lang="zh_TW">現在沒有任務需要處理。</value>
     </property>
-    <property key="CommonNoteCannotBeUpdated">
-        <value xml:lang="en">Could update note data (write failure): ${errorString}</value>
-        <value xml:lang="it">Non è possibile aggiornare i dati della nota (scrittura fallita): ${errorString}</value>
-    </property>
     <property key="CommonNoUomConversionFound">
         <value xml:lang="ar">علاقة تحويل وحدات القياس غير موجودة</value>
         <value xml:lang="de">Die Beziehung der Einheit für die Konversion wurde nicht gefunden</value>
@@ -5520,30 +5551,6 @@
         <value xml:lang="hi_IN">निर्दिष्ट नहीं </value>
         <value xml:lang="pt_BR">Não Atribuído</value>
     </property>
-    <property key="CommonNotifyEmailDeliveryError">
-        <value xml:lang="en">Email delivery error, see error log</value>
-        <value xml:lang="it">Email delivery error, see error log</value>
-    </property>
-    <property key="CommonNotifyEmailInvalidBody">
-        <value xml:lang="en">Invalid email body; null is not allowed</value>
-        <value xml:lang="it">Corpo email invalido; null non è consentito</value>
-    </property>
-    <property key="CommonNotifyEmailMessageBodyGeneratedSuccessfully">
-        <value xml:lang="en">Message body generated successfully</value>
-        <value xml:lang="it">Corpo messaggio generato con successo</value>
-    </property>
-    <property key="CommonNotifyEmailProblemFindingTemplate">
-        <value xml:lang="en">Problem finding template; see logs</value>
-        <value xml:lang="it">Problema nella ricerca del template; controllare i logs</value>
-    </property>
-    <property key="CommonNotifyEmailProblemProcessingTemplate">
-        <value xml:lang="en">Template processing problem, see error logs</value>
-        <value xml:lang="it">Problema nell'esecuzione del template; controllare gli errori nei logs</value>
-    </property>
-    <property key="CommonNotifyEmailProblemReadingTemplate">
-        <value xml:lang="en">Template reading problem, see error logs</value>
-        <value xml:lang="it">Problema nella lettura del template; controllare gli errori nei logs</value>
-    </property>
     <property key="CommonNotModifRecreat">
         <value xml:lang="de">kann nur mit Neuanlage geändert werden</value>
         <value xml:lang="en">cannot change without re-creating</value>
@@ -5649,6 +5656,10 @@
         <value xml:lang="zh_CN">注释</value>
         <value xml:lang="zh_TW">便箋</value>
     </property>
+    <property key="CommonNoteCannotBeUpdated">
+        <value xml:lang="en">Could update note data (write failure): ${errorString}</value>
+        <value xml:lang="it">Non è possibile aggiornare i dati della nota (scrittura fallita): ${errorString}</value>
+    </property>
     <property key="CommonNotes">
         <value xml:lang="ar">مذكرات</value>
         <value xml:lang="de">Anmerkungen</value>
@@ -5666,6 +5677,30 @@
         <value xml:lang="zh_CN">注释</value>
         <value xml:lang="zh_TW">便箋</value>
     </property>
+    <property key="CommonNotifyEmailDeliveryError">
+        <value xml:lang="en">Email delivery error, see error log</value>
+        <value xml:lang="it">Email delivery error, see error log</value>
+    </property>
+    <property key="CommonNotifyEmailInvalidBody">
+        <value xml:lang="en">Invalid email body; null is not allowed</value>
+        <value xml:lang="it">Corpo email invalido; null non è consentito</value>
+    </property>
+    <property key="CommonNotifyEmailMessageBodyGeneratedSuccessfully">
+        <value xml:lang="en">Message body generated successfully</value>
+        <value xml:lang="it">Corpo messaggio generato con successo</value>
+    </property>
+    <property key="CommonNotifyEmailProblemFindingTemplate">
+        <value xml:lang="en">Problem finding template; see logs</value>
+        <value xml:lang="it">Problema nella ricerca del template; controllare i logs</value>
+    </property>
+    <property key="CommonNotifyEmailProblemProcessingTemplate">
+        <value xml:lang="en">Template processing problem, see error logs</value>
+        <value xml:lang="it">Problema nell'esecuzione del template; controllare gli errori nei logs</value>
+    </property>
+    <property key="CommonNotifyEmailProblemReadingTemplate">
+        <value xml:lang="en">Template reading problem, see error logs</value>
+        <value xml:lang="it">Problema nella lettura del template; controllare gli errori nei logs</value>
+    </property>
     <property key="CommonNovember">
         <value xml:lang="ar">نوفمبر</value>
         <value xml:lang="de">November</value>
@@ -6120,6 +6155,9 @@
         <value xml:lang="zh">请修改你的密码</value>
         <value xml:lang="zh_TW">請修改你的密碼</value>
     </property>
+    <property key="CommonPayment">
+        <value xml:lang="en">Payment</value>
+    </property>
     <property key="CommonPaymentMethodType">
         <value xml:lang="ar">نوع طريقة التسديد</value>
         <value xml:lang="de">Zahlungsmethode Typ</value>
@@ -6281,6 +6319,14 @@
         <value xml:lang="en">please select</value>
         <value xml:lang="pt_BR">Por favor, selecione</value>
     </property>
+    <property key="CommonPleaseSelectAllFeaturesFirst">
+        <value xml:lang="de">Bitte wählen Sie erst alle Merkmale aus.</value>
+        <value xml:lang="en">Please select all features first.</value>
+    </property>
+    <property key="CommonPleaseSelectAllRequiredOptions">
+        <value xml:lang="de">Bitte selektieren Sie alle benötigten Optionen.</value>
+        <value xml:lang="en">Please select all of the required options.</value>
+    </property>
     <property key="CommonPleaseWait">
         <value xml:lang="de">Bitte warten Sie ...</value>
         <value xml:lang="en">please wait ...</value>
@@ -6391,6 +6437,10 @@
         <value xml:lang="zh_CN">做好准备的</value>
         <value xml:lang="zh_TW">准備</value>
     </property>
+    <property key="CommonPreview">
+        <value xml:lang="en">Preview</value>
+        <value xml:lang="th">แสดงตัวอย่าง</value>
+    </property>
     <property key="CommonPrevious">
         <value xml:lang="ar">سابق</value>
         <value xml:lang="cs">předchozí</value>
@@ -6928,6 +6978,9 @@
         <value xml:lang="zh">相关信息</value>
         <value xml:lang="zh_TW">相關資訊</value>
     </property>
+    <property key="CommonRelease">
+        <value xml:lang="en">Release</value>
+    </property>
     <property key="CommonReleaseDate">
         <value xml:lang="en">Release Date</value>
         <value xml:lang="pt_BR">Data de Lançamento</value>
@@ -7014,6 +7067,10 @@
         <value xml:lang="zh_CN">报告</value>
         <value xml:lang="zh_TW">報告</value>
     </property>
+    <property key="CommonRequery">
+        <value xml:lang="de">Erneute Abfrage</value>
+        <value xml:lang="en">Requery</value>
+    </property>
     <property key="CommonRequired">
         <value xml:lang="ar">إلزامي</value>
         <value xml:lang="de">Notwendig</value>
@@ -7669,6 +7726,10 @@
         <value xml:lang="en">Return Error Service : Returning Error</value>
         <value xml:lang="it">Servizio ha restituito un'errore: errore restituito</value>
     </property>
+    <property key="CommonSessionTimeoutPleaseLogIn">
+        <value xml:lang="de">Sie sind nicht mehr angemeldet. Bitte melden Sie sich erneut an.</value>
+        <value xml:lang="en">You are not logged in. Please login again.</value>
+    </property>
     <property key="CommonSet">
         <value xml:lang="ar">وضع</value>
         <value xml:lang="de">Setzen</value>
@@ -7830,6 +7891,10 @@
         <value xml:lang="zh_CN">自从</value>
         <value xml:lang="zh_TW">自從</value>
     </property>
+    <property key="CommonSize">
+        <value xml:lang="en">Size</value>
+        <value xml:lang="th">ขนาด</value>
+    </property>
     <property key="CommonSkipNavigation">
         <value xml:lang="de">Navigation auslassen</value>
         <value xml:lang="en">Skip navigation</value>
@@ -8869,6 +8934,10 @@
         <value xml:lang="zh_CN">单价</value>
         <value xml:lang="zh_TW">單價</value>
     </property>
+    <property key="CommonUnspecifiedErrorOccurred">
+        <value xml:lang="de">Ein unbestimmter Fehler ist aufgetreten!</value>
+        <value xml:lang="en">An unspecified error occurred!</value>
+    </property>
     <property key="CommonUntil">
         <value xml:lang="ar">حتى</value>
         <value xml:lang="de">Bis</value>
@@ -9313,10 +9382,6 @@
         <value xml:lang="zh">视觉风格</value>
         <value xml:lang="zh_TW">視覺風格</value>
     </property>
-    <property key="CommonVisualThemeUsage">
-        <value xml:lang="en">Click on an image to have a preview, on a link to select a theme, and then on Done to validate your choice</value>
-        <value xml:lang="fr">Cliquer sur l'image pour afficher un aperçu, sur le lien pour sélectionner le thème puis sur terminer pour valider votre choix</value>
-    </property>
     <property key="CommonVisualThemeIdNotFound">
         <value xml:lang="en">Visual Theme ID not found.</value>
         <value xml:lang="es">Código de tema visual no encontrado.</value>
@@ -9369,6 +9434,10 @@
         <value xml:lang="zh">已选择的视觉风格</value>
         <value xml:lang="zh_TW">已選擇的視覺風格</value>
     </property>
+    <property key="CommonVisualThemeUsage">
+        <value xml:lang="en">Click on an image to have a preview, on a link to select a theme, and then on Done to validate your choice</value>
+        <value xml:lang="fr">Cliquer sur l'image pour afficher un aperçu, sur le lien pour sélectionner le thème puis sur terminer pour valider votre choix</value>
+    </property>
     <property key="CommonVisualThemes">
         <value xml:lang="en">Visual Themes</value>
         <value xml:lang="es">Temas visuales</value>
@@ -9814,24 +9883,6 @@
         <value xml:lang="zh_CN">数据源类型</value>
         <value xml:lang="zh_TW">資料源類型</value>
     </property>
-    <property key="CommonPayment">
-        <value xml:lang="en">Payment</value>
-    </property>
-    <property key="CommonAuthenticate">
-        <value xml:lang="en">Authenticate</value>
-    </property>
-    <property key="CommonDeferred">
-        <value xml:lang="en">Deferred</value>
-    </property>
-    <property key="CommonAuthorise">
-        <value xml:lang="en">Authorise</value>
-    </property>
-    <property key="CommonRelease">
-        <value xml:lang="en">Release</value>
-    </property>
-    <property key="CommonAbort">
-        <value xml:lang="en">Abort</value>
-    </property>
     <property key="DataSourceTypeCreate">
         <value xml:lang="ar">استحداث نوع مصدر معلومات</value>
         <value xml:lang="de">Datenquelle Typ erstellen</value>
@@ -9957,6 +10008,10 @@
         <value xml:lang="zh">金额</value>
         <value xml:lang="zh_TW">金額</value>
     </property>
+    <property key="FormFieldTitle_approve">
+        <value xml:lang="en">Approve</value>
+        <value xml:lang="th">อนุมัติ</value>
+    </property>
     <property key="FormFieldTitle_attrName">
         <value xml:lang="ar">اسم الخاصية</value>
         <value xml:lang="de">Attributnamen</value>
@@ -10005,6 +10060,10 @@
         <value xml:lang="zh">评论</value>
         <value xml:lang="zh_TW">評論</value>
     </property>
+    <property key="FormFieldTitle_confirmButton">
+        <value xml:lang="en">Confirm</value>
+        <value xml:lang="th">ยืนยัน</value>
+    </property>
     <property key="FormFieldTitle_contactMechId">
         <value xml:lang="ar">دليل مكانزمة الصلة</value>
         <value xml:lang="de">Kontaktmechanismus ID</value>
@@ -10337,6 +10396,10 @@
         <value xml:lang="it">Pagina portale padre</value>
         <value xml:lang="pt_BR">Página superior</value>
     </property>
+    <property key="FormFieldTitle_pending">
+        <value xml:lang="en">Pending</value>
+        <value xml:lang="th">รอดำเนินการ</value>
+    </property>
     <property key="FormFieldTitle_portalPageName">
         <value xml:lang="en">Portal page name</value>
         <value xml:lang="fr">Nom de page</value>
@@ -11368,28 +11431,4 @@
         <value xml:lang="zh_CN">中文</value>
         <value xml:lang="zh_TW">中文</value>
     </property>
-    <property key="CommonRequery">
-        <value xml:lang="de">Erneute Abfrage</value>
-        <value xml:lang="en">Requery</value>
-    </property>
-    <property key="CommonUnspecifiedErrorOccurred">
-        <value xml:lang="de">Ein unbestimmter Fehler ist aufgetreten!</value>
-        <value xml:lang="en">An unspecified error occurred!</value>
-    </property>
-    <property key="CommonErrorSubmittingForm">
-        <value xml:lang="de">Ein Fehler beim abschicken der Form ist aufgetreten.</value>
-        <value xml:lang="en">An error occurred submitting form.</value>
-    </property>
-    <property key="CommonPleaseSelectAllFeaturesFirst">
-        <value xml:lang="de">Bitte wählen Sie erst alle Merkmale aus.</value>
-        <value xml:lang="en">Please select all features first.</value>
-    </property>
-    <property key="CommonPleaseSelectAllRequiredOptions">
-        <value xml:lang="de">Bitte selektieren Sie alle benötigten Optionen.</value>
-        <value xml:lang="en">Please select all of the required options.</value>
-    </property>
-    <property key="CommonAddressNotFound">
-        <value xml:lang="de">Die Adresse wurde nicht gefunden.</value>
-        <value xml:lang="en">Address not found.</value>
-    </property>
 </resource>

Modified: ofbiz/branches/jackrabbit20100709/framework/common/script/org/ofbiz/common/CommonServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/common/script/org/ofbiz/common/CommonServices.xml?rev=1128865&r1=1128864&r2=1128865&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/common/script/org/ofbiz/common/CommonServices.xml (original)
+++ ofbiz/branches/jackrabbit20100709/framework/common/script/org/ofbiz/common/CommonServices.xml Sun May 29 11:02:09 2011
@@ -148,9 +148,10 @@ under the License.
             </if-not-empty>  <!-- custom conversion? -->
 
             <!-- round result, if UomConversion[Dated] so specifies -->
-            <set field="roundingMode" from-field="uomConversion.roundingMode"/>
-            <if-not-empty field="uomConversion.roundingMode">
-                <calculate field="roundedValue" type="BigDecimal" decimal-scale="${uomConversion.decimalScale}" rounding-mode="${roundingMode}">
+            <set field="roundingMode" from-field="uomConversion.roundingMode" default-value="${parameters.defaultRoundingMode}"/>
+            <set field="decimalScale" from-field="uomConversion.decimalScale" default-value="${parameters.defaultDecimalScale}"/>
+            <if-not-empty field="roundingMode">
+                <calculate field="roundedValue" type="BigDecimal" decimal-scale="${decimalScale}" rounding-mode="${roundingMode}">
                     <calcop operator="get" field="convertedValue"/>
                 </calculate>
                 <set field="convertedValue" from-field="roundedValue"/>