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> |
Free forum by Nabble | Edit this page |