Author: jleroux
Date: Fri Feb  2 15:55:52 2018
New Revision: 1822978

URL: http://svn.apache.org/viewvc?rev=1822978&view=rev
Log:
Improved: Removing of loadBestSellingCategory and all related methods in 
CategoryServices.xml
(OFBIZ-10146)
While doing some conversions from MiniLang to Groovy, I stumbled across these 
methods:
  loadBestSellingCategory
  RemoveProductFromBestSellCategory
  AddProductToBestSellCategory
  FindCategoryChild
  FindBestSellingProduct
These are all in CategoryServices.xml.

I started realizing, that the simple-method loadBestSellingCategory doesn't 
work right (there are some logical failures in it) and while fixing it,
I searched for places where this is used, but couldn't find any.
I started looking deeper into it and found that all of these methods are never 
used anywhere in OFBiz, neither are the services which are declared for these 
methods.

This is why I propose to remove them; they have no real use, since they don't 
work properly, and also are never used.

Thanks: Dennis Balkir

Modified:
    
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/category/CategoryServices.xml

Modified: 
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/category/CategoryServices.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/category/CategoryServices.xml?rev=1822978&r1=1822977&r2=1822978&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/category/CategoryServices.xml
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/category/CategoryServices.xml
 Fri Feb  2 15:55:52 2018
@@ -70,131 +70,4 @@ under the License.
             </then>
         </if>
     </simple-method>
-
-    <!-- Load data of best selling category -->
-    <simple-method method-name="loadBestSellingCategory" 
short-description="Load data of best selling category by week.">
-        <now-date-to-env field="nowDate"/>
-        <set field="week" value="${groovy: import java.util.Calendar;
-            Calendar cal = Calendar.getInstance();
-            cal.setTime(nowDate);
-            return cal.get(Calendar.WEEK_OF_YEAR);}" type="Long"/>
-        <set field="year" value="${groovy: import java.util.Calendar;
-            Calendar cal = Calendar.getInstance();
-            cal.setTime(nowDate);
-            int aa = cal.get(Calendar.YEAR);
-            return aa;}" type="Long"/>
-        <if-compare field="week" operator="equals" value="1">
-            <set field="week" value="52"/>
-        <else>
-            <calculate field="week">
-                <calcop operator="subtract" field="week">
-                    <number value="1"/>
-                </calcop>
-            </calculate>
-            <if-compare field="week" operator="equals" value="1">
-                <calculate field="year">
-                    <calcop operator="subtract" field="year">
-                        <number value="1"/>
-                    </calcop>
-                </calculate>
-            </if-compare>
-        </else>
-        </if-compare>
-
-        <entity-and entity-name="ProductStoreCatalog" 
list="productStoreCatalogs" filter-by-date="true">
-            <field-map field-name="productStoreId" 
from-field="parameters.productStoreId"/>
-        </entity-and>
-        <if-not-empty field="productStoreCatalogs">
-            <first-from-list list="productStoreCatalogs" 
entry="productStoreCatalog"/>
-            <set field="callRemoveProductMap.prodCatalogId" 
from-field="productStoreCatalog.prodCatalogId"/>
-            <call-service service-name="RemoveProductFromBestSellCategory" 
in-map-name="callRemoveProductMap"/>
-
-            <set field="callAddProductMap.productStoreId" 
from-field="parameters.productStoreId"/>
-            <set field="callAddProductMap.prodCatalogId" 
from-field="productStoreCatalog.prodCatalogId"/>
-            <set field="callAddProductMap.week" from-field="week" type="Long"/>
-            <set field="callAddProductMap.year" from-field="year" type="Long"/>
-            <call-service service-name="AddProductToBestSellCategory" 
in-map-name="callAddProductMap"/>
-        </if-not-empty>
-    </simple-method>
-
-    <simple-method method-name="RemoveProductFromBestSellCategory" 
short-description="Remove products from best selling category.">
-        <entity-and entity-name="ProdCatalogCategory" 
list="prodCatalogCategorys">
-            <field-map field-name="prodCatalogId" 
from-field="parameters.prodCatalogId"/>
-            <field-map field-name="prodCatalogCategoryTypeId" 
value="PCCT_BEST_SELL"/>
-        </entity-and>
-        <iterate list="prodCatalogCategorys" entry="prodCatalogCategory">
-            <entity-and entity-name="ProductCategoryRollup" 
list="productCategoryRollups">
-                <field-map field-name="parentProductCategoryId" 
from-field="prodCatalogCategory.productCategoryId"/>
-            </entity-and>
-            <iterate list="productCategoryRollups" 
entry="productCategoryRollup">
-                <entity-and entity-name="ProductCategoryMember" 
list="productCategoryMembers">
-                    <field-map field-name="productCategoryId" 
from-field="productCategoryRollup.productCategoryId"/>
-                </entity-and>
-                <iterate list="productCategoryMembers" 
entry="productCategoryMember">
-                    <remove-value value-field="productCategoryMember"/>
-                </iterate>
-            </iterate>
-        </iterate>
-    </simple-method>
-
-    <simple-method method-name="AddProductToBestSellCategory" 
short-description="Add products to best selling category.">
-        <entity-and entity-name="ProdCatalogCategory" 
list="prodCatalogCategorys">
-            <field-map field-name="prodCatalogId" 
from-field="parameters.prodCatalogId"/>
-            <field-map field-name="prodCatalogCategoryTypeId" 
value="PCCT_BEST_SELL"/>
-        </entity-and>
-        <first-from-list list="prodCatalogCategorys" 
entry="prodCatalogCategory"/>
-        <entity-and entity-name="ProductCategoryRollup" 
list="productCategoryRollupList">
-            <field-map field-name="parentProductCategoryId" 
from-field="prodCatalogCategory.productCategoryId"/>
-        </entity-and>
-        <iterate list="productCategoryRollupList" 
entry="productCategoryRollup">
-            <set-service-fields service-name="FindCategoryChild" 
map="parameters" to-map="CategoryChildMap"/>
-            <set field="CategoryChildMap.productCategoryId" 
from-field="productCategoryRollup.productCategoryId"/>
-            <set field="CategoryChildMap.primaryProductCategoryId" 
from-field="productCategoryRollup.productCategoryId"/>
-            <call-service service-name="FindCategoryChild" 
in-map-name="CategoryChildMap"/>
-        </iterate>
-    </simple-method>
-
-    <simple-method method-name="FindCategoryChild" short-description="Find 
category child.">
-        <entity-and entity-name="ProductCategoryRollup" 
list="productCategoryRollupList">
-            <field-map field-name="parentProductCategoryId" 
from-field="parameters.productCategoryId"/>
-        </entity-and>
-        <if-empty field="productCategoryRollupList">
-            <set-service-fields service-name="FindBestSellingProduct" 
map="parameters" to-map="AddProductMap"/>
-            <set field="AddProductMap.productCategoryId" 
from-field="parameters.productCategoryId"/>
-            <call-service service-name="FindBestSellingProduct" 
in-map-name="AddProductMap"/>
-        <else>
-            <iterate list="productCategoryRollupList" 
entry="productCategoryRollup">
-                <set-service-fields service-name="FindCategoryChild" 
map="parameters" to-map="CategoryChildMap"/>
-                <set field="CategoryChildMap.productCategoryId" 
from-field="productCategoryRollup.productCategoryId"/>
-                <call-service service-name="FindCategoryChild" 
in-map-name="CategoryChildMap"/>
-            </iterate>
-        </else>
-        </if-empty>
-    </simple-method>
-
-    <simple-method method-name="FindBestSellingProduct" 
short-description="Find best selling product.">
-        <now-timestamp field="nowTimestamp"/>
-        <entity-and entity-name="ProductCategoryMember" 
list="productCategoryMembers" filter-by-date="true">
-            <field-map field-name="productCategoryId" 
from-field="parameters.productCategoryId"/>
-        </entity-and>
-        <iterate list="productCategoryMembers" entry="productCategoryMember">
-            <entity-condition entity-name="SalesOrderItemStarSchema" 
list="salesOrderItemStarSchemas" distinct="true">
-                <condition-list combine="and">
-                    <condition-expr field-name="productProductId" 
operator="equals" from-field="productCategoryMember.productId"/>
-                    <condition-expr field-name="productStoreId" 
operator="equals" from-field="parameters.productStoreId"/>
-                    <condition-expr field-name="orderDateWeekOfYear" 
operator="equals" from-field="parameters.week"/>
-                    <condition-expr field-name="orderDateYearName" 
operator="equals" from-field="parameters.year"/>
-                </condition-list>
-            </entity-condition>
-            <if-not-empty field="salesOrderItemStarSchemas">
-                <first-from-list list="salesOrderItemStarSchemas" 
entry="salesOrderItemStarSchema"/>
-                <make-value entity-name="ProductCategoryMember" 
value-field="newEntity"/>
-                <set field="newEntity.productCategoryId" 
from-field="parameters.primaryProductCategoryId"/>
-                <set field="newEntity.productId" 
from-field="salesOrderItemStarSchema.productProductId"/>
-                <set field="newEntity.fromDate" from-field="nowTimestamp"/>
-                <set field="newEntity.quantity" 
from-field="salesOrderItemStarSchema.quantity"/>
-                <create-value value-field="newEntity"/>
-            </if-not-empty>
-        </iterate>
-    </simple-method>
 </simple-methods>


Reply via email to