Author: jacopoc
Date: Mon Dec 22 09:19:33 2014
New Revision: 1647271
URL: http://svn.apache.org/r1647271
Log:
Refactoring of Visit/Visitor/ServerHit* (and related) entities in order to be
able to maintain them in a database separate from the main transactional
database:
1) removed foreign key relationship from/to this group of entities and the
other entities of the OFBiz data model; the fields are still available but they
are not enforced by a foreign key constraint
2) removed one view entitiy joining Visit with Party entities and refactored
the code that was using it in order to provide the same behavior
3) added a new entity group ("org.ofbiz.stats") for the
Visit/Visitor/ServerHit* (and related) entities; for now the group is not
active so that the entities are still in the same database as before; however
assigning them to a different database is now a matter of uncommenting the
group file definition in framework/webapp/ofbiz-component.xml and provide the
new datasource definition
Added:
ofbiz/trunk/framework/webapp/entitydef/entitygroup.xml (with props)
Modified:
ofbiz/trunk/applications/content/entitydef/entitymodel.xml
ofbiz/trunk/applications/marketing/entitydef/entitymodel.xml
ofbiz/trunk/applications/order/entitydef/entitymodel.xml
ofbiz/trunk/applications/party/entitydef/entitymodel.xml
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/recentVisitor.groovy
ofbiz/trunk/applications/product/entitydef/entitymodel.xml
ofbiz/trunk/applications/product/entitydef/entitymodel_old.xml
ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
ofbiz/trunk/framework/common/entitydef/entitymodel.xml
ofbiz/trunk/framework/webapp/entitydef/entitymodel.xml
ofbiz/trunk/framework/webapp/ofbiz-component.xml
Modified: ofbiz/trunk/applications/content/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/entitydef/entitymodel.xml?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
--- ofbiz/trunk/applications/content/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/content/entitydef/entitymodel.xml Mon Dec 22
09:19:33 2014
@@ -1689,9 +1689,6 @@ under the License.
<field name="secondsTotal" type="floating-point"></field>
<field name="searchDate" type="date-time"></field>
<prim-key field="contentSearchResultId"/>
- <relation type="one" fk-name="CNT_SCHRES_VST" rel-entity-name="Visit">
- <key-map field-name="visitId"/>
- </relation>
</entity>
<entity entity-name="WebAnalyticsConfig"
Modified: ofbiz/trunk/applications/marketing/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/entitydef/entitymodel.xml?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/marketing/entitydef/entitymodel.xml Mon Dec 22
09:19:33 2014
@@ -532,9 +532,6 @@ under the License.
<relation type="one" fk-name="TKNG_CODVST_TKCD"
rel-entity-name="TrackingCode">
<key-map field-name="trackingCodeId"/>
</relation>
- <relation type="one" fk-name="TKNG_CODVST_VST" rel-entity-name="Visit">
- <key-map field-name="visitId"/>
- </relation>
<relation type="one" fk-name="TKNG_CODVST_SRCEM"
rel-entity-name="Enumeration">
<key-map field-name="sourceEnumId" rel-field-name="enumId"/>
</relation>
Modified: ofbiz/trunk/applications/order/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/entitydef/entitymodel.xml?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/order/entitydef/entitymodel.xml Mon Dec 22
09:19:33 2014
@@ -2756,9 +2756,6 @@ under the License.
<field name="wasReserved" type="indicator"></field>
<prim-key field="visitId"/>
<prim-key field="cartAbandonedLineSeqId"/>
- <relation type="one" fk-name="CART_ABLN_VST" rel-entity-name="Visit">
- <key-map field-name="visitId"/>
- </relation>
<relation type="one" fk-name="CART_ABLN_PRD" rel-entity-name="Product">
<key-map field-name="productId"/>
</relation>
@@ -2810,9 +2807,6 @@ under the License.
<relation type="one" fk-name="SHLIST_PTY" rel-entity-name="Party">
<key-map field-name="partyId"/>
</relation>
- <relation type="one" fk-name="SHLIST_VSTR" rel-entity-name="Visitor">
- <key-map field-name="visitorId"/>
- </relation>
<relation type="many" fk-name="SHLIST_PSSM"
rel-entity-name="ProductStoreShipmentMeth">
<key-map field-name="productStoreId"/>
<key-map field-name="shipmentMethodTypeId"/>
Modified: ofbiz/trunk/applications/party/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/entitydef/entitymodel.xml?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/party/entitydef/entitymodel.xml Mon Dec 22
09:19:33 2014
@@ -1482,9 +1482,6 @@ under the License.
<relation type="one" fk-name="PARTY_NEED_PCAT"
rel-entity-name="ProductCategory">
<key-map field-name="productCategoryId"/>
</relation>
- <relation type="one" fk-name="PARTY_NEED_VSIT" rel-entity-name="Visit">
- <key-map field-name="visitId"/>
- </relation>
</entity>
<!-- ========================================================= -->
@@ -2013,9 +2010,6 @@ under the License.
<relation type="one" fk-name="PARTY_DATSRC_DSC"
rel-entity-name="DataSource">
<key-map field-name="dataSourceId"/>
</relation>
- <relation type="one" fk-name="PARTY_DATSRC_VST" rel-entity-name="Visit">
- <key-map field-name="visitId"/>
- </relation>
</entity>
<entity entity-name="PartyGroup"
package-name="org.ofbiz.party.party"
@@ -2183,39 +2177,6 @@ under the License.
<key-map field-name="partyId"/>
</relation>
</view-entity>
- <view-entity entity-name="PartyNameVisitView"
- package-name="org.ofbiz.party.party"
- title="Party Name visit View Entity">
- <member-entity entity-alias="PTY" entity-name="Party"/>
- <member-entity entity-alias="PER" entity-name="Person"/>
- <member-entity entity-alias="PTYGRP" entity-name="PartyGroup"/>
- <member-entity entity-alias="VISIT" entity-name="Visit"/>
- <alias entity-alias="PTY" name="partyId"/>
- <alias entity-alias="PTY" name="partyTypeId"/>
- <alias entity-alias="PER" name="firstName"/>
- <alias entity-alias="PER" name="middleName"/>
- <alias entity-alias="PER" name="lastName"/>
- <alias entity-alias="PER" name="firstNameLocal"/>
- <alias entity-alias="PER" name="lastNameLocal"/>
- <alias entity-alias="PER" name="personalTitle"/>
- <alias entity-alias="PER" name="suffix"/>
- <alias entity-alias="PTYGRP" name="groupName"/>
- <alias entity-alias="PTYGRP" name="groupNameLocal"/>
- <alias entity-alias="VISIT" name="webappName"/>
- <alias entity-alias="VISIT" name="fromDate"/>
- <view-link entity-alias="PTY" rel-entity-alias="PER" rel-optional="true">
- <key-map field-name="partyId"/>
- </view-link>
- <view-link entity-alias="PTY" rel-entity-alias="PTYGRP"
rel-optional="true">
- <key-map field-name="partyId"/>
- </view-link>
- <view-link entity-alias="PTY" rel-entity-alias="VISIT"
rel-optional="false">
- <key-map field-name="partyId"/>
- </view-link>
- <relation type="one-nofk" rel-entity-name="Party">
- <key-map field-name="partyId"/>
- </relation>
- </view-entity>
<entity entity-name="PartyNote"
package-name="org.ofbiz.party.party"
title="Party Note Entity">
@@ -2899,25 +2860,9 @@ under the License.
<field name="contactMechId" type="id"></field>
<field name="partyId" type="id"></field>
<field name="roleTypeId" type="id"></field>
- <relation type="one" fk-name="VISIT_CONT_MECH"
rel-entity-name="ContactMech">
- <key-map field-name="contactMechId"/>
- </relation>
- <relation type="one" fk-name="VISIT_PARTY" rel-entity-name="Party">
- <key-map field-name="partyId"/>
- </relation>
- <relation type="one" fk-name="VISIT_ROLE_TYPE"
rel-entity-name="RoleType">
- <key-map field-name="roleTypeId"/>
- </relation>
- <relation type="one" fk-name="VISIT_PARTY_ROLE"
rel-entity-name="PartyRole">
- <key-map field-name="partyId"/>
- <key-map field-name="roleTypeId"/>
- </relation>
</extend-entity>
<extend-entity entity-name="Visitor">
<field name="partyId" type="id"></field>
- <relation type="one" fk-name="VISITOR_PARTY" rel-entity-name="Party">
- <key-map field-name="partyId"/>
- </relation>
</extend-entity>
<extend-entity entity-name="UserLogin">
<field name="partyId" type="id"></field>
Modified:
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/recentVisitor.groovy
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/recentVisitor.groovy?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
---
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/recentVisitor.groovy
(original)
+++
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/recentVisitor.groovy
Mon Dec 22 09:19:33 2014
@@ -17,12 +17,13 @@
* under the License.
*/
-import org.ofbiz.entity.*
import org.ofbiz.entity.condition.*;
import org.ofbiz.entity.util.*
import org.ofbiz.base.util.*;
lastDate = UtilDateTime.addDaysToTimestamp(UtilDateTime.nowTimestamp(), -21);
// should be there the last 3 weeks.
searchCondition = EntityCondition.makeCondition("fromDate",
EntityOperator.GREATER_THAN, lastDate);
-options = new EntityFindOptions(false, 0, 0,, true);
-context.recentParties = delegator.findList("PartyNameVisitView",
searchCondition, (Set)["partyId", "firstName", "middleName", "lastName",
"groupName"], null, options, true);
+partyIds =
EntityUtil.getFieldListFromEntityList(select('partyId').distinct().from('Visit').where(searchCondition).queryList(),
'partyId', false)
+searchCondition = EntityCondition.makeCondition('partyId', EntityOperator.IN,
partyIds);
+options = new EntityFindOptions(false, 0, 0, true);
+context.recentParties = delegator.findList("PartyNameView", searchCondition,
(Set)["partyId", "firstName", "middleName", "lastName", "groupName"], null,
options, true);
Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Mon Dec 22
09:19:33 2014
@@ -2159,9 +2159,6 @@ under the License.
<prim-key field="visitId"/>
<prim-key field="productId"/>
<prim-key field="productStoreId"/>
- <relation type="one" fk-name="INV_ITEM_TR_VIS" rel-entity-name="Visit">
- <key-map field-name="visitId"/>
- </relation>
<relation type="one" fk-name="INV_ITEM_TR_PROD"
rel-entity-name="Product">
<key-map field-name="productId"/>
</relation>
@@ -3244,9 +3241,6 @@ under the License.
<field name="secondsTotal" type="floating-point"></field>
<field name="searchDate" type="date-time"></field>
<prim-key field="productSearchResultId"/>
- <relation type="one" fk-name="PROD_SCHRES_VST" rel-entity-name="Visit">
- <key-map field-name="visitId"/>
- </relation>
</entity>
<entity entity-name="ProductType"
package-name="org.ofbiz.product.product"
Modified: ofbiz/trunk/applications/product/entitydef/entitymodel_old.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel_old.xml?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitymodel_old.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitymodel_old.xml Mon Dec 22
09:19:33 2014
@@ -85,9 +85,6 @@ under the License.
<field name="removeStems" type="indicator"></field>
<field name="numResults" type="numeric"></field>
<prim-key field="productKeywordResultId"/>
- <relation type="one" fk-name="PROD_KWDRES_VST" rel-entity-name="Visit">
- <key-map field-name="visitId"/>
- </relation>
<relation type="one-nofk" rel-entity-name="ProductCategory">
<key-map field-name="productCategoryId"/>
</relation>
Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml Mon Dec 22
09:19:33 2014
@@ -787,9 +787,6 @@ under the License.
<field name="secondsTotal" type="floating-point"></field>
<field name="searchDate" type="date-time"></field>
<prim-key field="workEffortSearchResultId"/>
- <relation type="one" fk-name="WEFF_SCHRES_VST" rel-entity-name="Visit">
- <key-map field-name="visitId"/>
- </relation>
</entity>
<entity entity-name="WorkEffortSkillStandard"
package-name="org.ofbiz.workeffort.workeffort"
Modified: ofbiz/trunk/framework/common/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/entitydef/entitymodel.xml?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/framework/common/entitydef/entitymodel.xml Mon Dec 22 09:19:33
2014
@@ -311,12 +311,6 @@ under the License.
<extend-entity entity-name="Visit">
<field name="clientIpStateProvGeoId" type="id"></field>
<field name="clientIpCountryGeoId" type="id"></field>
- <relation type="one" fk-name="VISIT_CIP_STPRV"
title="ClientIpStateProv" rel-entity-name="Geo">
- <key-map field-name="clientIpStateProvGeoId"
rel-field-name="geoId"/>
- </relation>
- <relation type="one" fk-name="VISIT_CIP_CNTRY" title="ClientIpCountry"
rel-entity-name="Geo">
- <key-map field-name="clientIpCountryGeoId" rel-field-name="geoId"/>
- </relation>
</extend-entity>
<!-- ========================================================= -->
Added: ofbiz/trunk/framework/webapp/entitydef/entitygroup.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/entitydef/entitygroup.xml?rev=1647271&view=auto
==============================================================================
--- ofbiz/trunk/framework/webapp/entitydef/entitygroup.xml (added)
+++ ofbiz/trunk/framework/webapp/entitydef/entitygroup.xml Mon Dec 22 09:19:33
2014
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<entitygroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitygroup.xsd">
+
+ <entity-group group="org.ofbiz.stats" entity="BrowserType"/>
+ <entity-group group="org.ofbiz.stats" entity="PlatformType"/>
+ <entity-group group="org.ofbiz.stats" entity="ProtocolType"/>
+ <entity-group group="org.ofbiz.stats" entity="ServerHit"/>
+ <entity-group group="org.ofbiz.stats" entity="ServerHitBin"/>
+ <entity-group group="org.ofbiz.stats" entity="ServerHitType"/>
+ <entity-group group="org.ofbiz.stats" entity="UserAgent"/>
+ <entity-group group="org.ofbiz.stats" entity="UserAgentMethodType"/>
+ <entity-group group="org.ofbiz.stats" entity="UserAgentType"/>
+ <entity-group group="org.ofbiz.stats" entity="Visit"/>
+ <entity-group group="org.ofbiz.stats" entity="Visitor"/>
+
+</entitygroup>
+
Propchange: ofbiz/trunk/framework/webapp/entitydef/entitygroup.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/webapp/entitydef/entitygroup.xml
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/framework/webapp/entitydef/entitygroup.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: ofbiz/trunk/framework/webapp/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/entitydef/entitymodel.xml?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
--- ofbiz/trunk/framework/webapp/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/framework/webapp/entitydef/entitymodel.xml Mon Dec 22 09:19:33
2014
@@ -88,12 +88,6 @@ under the License.
<relation type="one" fk-name="SERVER_HIT_VISIT" rel-entity-name="Visit">
<key-map field-name="visitId"/>
</relation>
- <relation type="one" fk-name="SERVER_HIT_STATUS"
rel-entity-name="StatusItem">
- <key-map field-name="statusId"/>
- </relation>
- <relation type="one" fk-name="SERVER_HIT_USER"
rel-entity-name="UserLogin">
- <key-map field-name="userLoginId"/>
- </relation>
</entity>
<entity entity-name="ServerHitBin" package-name="org.ofbiz.webapp.visit"
never-cache="true" title="Server Hit Bin Entity">
<field name="serverHitBinId" type="id-ne"></field>
Modified: ofbiz/trunk/framework/webapp/ofbiz-component.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/ofbiz-component.xml?rev=1647271&r1=1647270&r2=1647271&view=diff
==============================================================================
--- ofbiz/trunk/framework/webapp/ofbiz-component.xml (original)
+++ ofbiz/trunk/framework/webapp/ofbiz-component.xml Mon Dec 22 09:19:33 2014
@@ -30,6 +30,9 @@ under the License.
<classpath type="jar" location="build/lib/*"/>
<entity-resource type="model" reader-name="main" loader="main"
location="entitydef/entitymodel.xml"/>
+ <!--
+ <entity-resource type="group" reader-name="main" loader="main"
location="entitydef/entitygroup.xml"/>
+ -->
<!--<test-suite loader="main" location="testdef/webapptests.xml"/>-->
</ofbiz-component>