Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 78242 Details for
Bug 202064
More client-side intelligence (SmartReadAhead Thread)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
TestCase
20070912-2-Analyzer.patch (text/plain), 10.44 KB, created by
Simon Mc Duff
on 2007-09-12 20:53:50 EDT
(
hide
)
Description:
TestCase
Filename:
MIME Type:
Creator:
Simon Mc Duff
Created:
2007-09-12 20:53:50 EDT
Size:
10.44 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.emf.cdo.server >Index: src/org/eclipse/emf/cdo/internal/server/protocol/LoadRevisionIndication.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.cdo/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/LoadRevisionIndication.java,v >retrieving revision 1.13 >diff -u -r1.13 LoadRevisionIndication.java >--- src/org/eclipse/emf/cdo/internal/server/protocol/LoadRevisionIndication.java 12 Sep 2007 15:33:46 -0000 1.13 >+++ src/org/eclipse/emf/cdo/internal/server/protocol/LoadRevisionIndication.java 13 Sep 2007 00:53:24 -0000 >@@ -11,6 +11,7 @@ > package org.eclipse.emf.cdo.internal.server.protocol; > > import org.eclipse.emf.cdo.internal.protocol.CDOIDImpl; >+import org.eclipse.emf.cdo.internal.protocol.CDOIDNull; > import org.eclipse.emf.cdo.internal.protocol.revision.CDORevisionImpl; > import org.eclipse.emf.cdo.internal.protocol.revision.CDORevisionImpl.MoveableList; > import org.eclipse.emf.cdo.internal.server.RevisionManager; >@@ -47,9 +48,9 @@ > > protected Map<CDOClass, CDOFetchRule> fetchRules = new HashMap<CDOClass, CDOFetchRule>(); > >- protected CDOID contextID; >+ protected CDOID contextID = CDOIDNull.NULL; > >- protected int loadRevisionCollectionChunkSize; >+ protected int loadRevisionCollectionChunkSize = 1; > > public LoadRevisionIndication() > { >#P org.eclipse.emf.cdo.tests >Index: src/org/eclipse/emf/cdo/tests/FetchRuleAnalyzerTest.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.cdo/tests/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/FetchRuleAnalyzerTest.java,v >retrieving revision 1.1 >diff -u -r1.1 FetchRuleAnalyzerTest.java >--- src/org/eclipse/emf/cdo/tests/FetchRuleAnalyzerTest.java 12 Sep 2007 15:33:43 -0000 1.1 >+++ src/org/eclipse/emf/cdo/tests/FetchRuleAnalyzerTest.java 13 Sep 2007 00:53:24 -0000 >@@ -10,22 +10,36 @@ > **************************************************************************/ > package org.eclipse.emf.cdo.tests; > >+import java.util.ArrayList; >+import java.util.List; >+ >+import org.eclipse.emf.cdo.CDOObject; > import org.eclipse.emf.cdo.CDOSession; > import org.eclipse.emf.cdo.CDOTransaction; > import org.eclipse.emf.cdo.eresource.CDOResource; >+import org.eclipse.emf.cdo.internal.protocol.model.CDOClassImpl; >+import org.eclipse.emf.cdo.protocol.CDOID; >+import org.eclipse.emf.cdo.protocol.analyzer.CDOFetchRule; >+import org.eclipse.emf.cdo.protocol.model.CDOClass; > import org.eclipse.emf.cdo.tests.model1.Company; > import org.eclipse.emf.cdo.tests.model1.Model1Factory; >+import org.eclipse.emf.cdo.tests.model1.Model1Package; > import org.eclipse.emf.cdo.tests.model1.PurchaseOrder; > import org.eclipse.emf.cdo.tests.model1.SalesOrder; > import org.eclipse.emf.cdo.tests.model1.Supplier; >+import org.eclipse.emf.cdo.util.EMFUtil; > > import org.eclipse.emf.common.util.EList; >+import org.eclipse.emf.ecore.EClass; > import org.eclipse.emf.ecore.EObject; > import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; >+import org.eclipse.emf.internal.cdo.CDOObjectImpl; > import org.eclipse.emf.internal.cdo.CDOSessionImpl; > import org.eclipse.emf.internal.cdo.CDOTransactionImpl; > import org.eclipse.emf.internal.cdo.analyzer.CDOFeatureAnalyzerModelBased; > import org.eclipse.emf.internal.cdo.analyzer.CDOFetchRuleManagerThreadLocal; >+import org.eclipse.emf.internal.cdo.util.FSMUtil; >+import org.eclipse.emf.internal.cdo.util.ModelUtil; > > /** > * @author Eike Stepper >@@ -34,6 +48,8 @@ > { > public void testLoadObject() throws Exception > { >+ ArrayList<CDOObject> listOfCompany = new ArrayList<CDOObject>(); >+ > { > // disableConsole(); > msg("Opening session"); >@@ -44,7 +60,7 @@ > > msg("Creating resource"); > CDOResource resource = transaction.createResource("/test2"); >- >+ > msg("Creating supplier"); > for (int i = 0; i < 10; i++) > { >@@ -59,7 +75,8 @@ > Supplier supplier = Model1Factory.eINSTANCE.createSupplier(); > > // Should it detect supplier to make it persistent... >- // I don't want to do resource.getContents().add(supplier) >+ >+ resource.getContents().add(supplier); > purchaseOrder.setSupplier(supplier); > > SalesOrder salesOrder = Model1Factory.eINSTANCE.createSalesOrder(); >@@ -67,10 +84,11 @@ > } > > resource.getContents().add(company); >+ listOfCompany.add(company); > } > > transaction.commit(); >- // XXX session.close(); >+ //session.close(); > enableConsole(); > } > >@@ -85,21 +103,44 @@ > CDOFeatureAnalyzerModelBased featureanalyzerModelBased = new CDOFeatureAnalyzerModelBased(); > transaction.setFeatureAnalyzer(featureanalyzerModelBased); > transaction.setLoadRevisionCollectionChunkSize(10); >- >+ > msg("Getting resource"); >- CDOResource resource = transaction.getResource("/test2"); >+ > >- msg("Getting contents"); >- EList<EObject> contents = resource.getContents(); >- for (EObject eObject : contents) >+ for (CDOObject companyObject : listOfCompany) > { >- Company company = (Company)eObject; >- for (PurchaseOrder purchaseOrder : company.getPurchaseOrders()) >- { >- purchaseOrder.getSupplier(); >- } >+ Company company = (Company)transaction.getObject(companyObject.cdoID(), true); >+ for (PurchaseOrder purchaseOrder : company.getPurchaseOrders()) >+ { >+ purchaseOrder.getSupplier(); >+ } >+ > } >- >- assertEquals(featureanalyzerModelBased.getFetchCount(), 12); >+ >+ >+ // Number of fetch should be 20. >+ assertEquals(20, featureanalyzerModelBased.getFetchCount()); >+ >+ List<CDOFetchRule> fetchRules = featureanalyzerModelBased.getFetchRules(null); >+ >+ assertEquals(2, fetchRules.size()); >+ >+ CDOFetchRule fetchRule1 = fetchRules.get(0); >+ EClass eClass = ModelUtil.getEClass((CDOClassImpl)fetchRule1.getCDOClass(), session.getPackageRegistry()); >+ assertEquals(Model1Package.eINSTANCE.getCompany(), eClass); >+ assertEquals(1, fetchRule1.getFeatures().size()); >+ assertEquals(Model1Package.eINSTANCE.getCompany_PurchaseOrders().getName(), fetchRule1.getFeatures().get(0).getName()); >+ >+ >+ CDOFetchRule fetchRule2 = fetchRules.get(1); >+ EClass ePurchaseOrder = ModelUtil.getEClass((CDOClassImpl)fetchRule2.getCDOClass(), session.getPackageRegistry()); >+ assertEquals(Model1Package.eINSTANCE.getPurchaseOrder(), ePurchaseOrder); >+ assertEquals(1, fetchRule2.getFeatures().size()); >+ assertEquals(Model1Package.eINSTANCE.getPurchaseOrder_Supplier().getName(), fetchRule2.getFeatures().get(0).getName()); >+ >+ >+ >+ transaction.close(); >+ //session.close(); > } > } >#P org.eclipse.emf.cdo >Index: src/org/eclipse/emf/internal/cdo/analyzer/CDOFeatureAnalyzerModelBased.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.cdo/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/analyzer/CDOFeatureAnalyzerModelBased.java,v >retrieving revision 1.1 >diff -u -r1.1 CDOFeatureAnalyzerModelBased.java >--- src/org/eclipse/emf/internal/cdo/analyzer/CDOFeatureAnalyzerModelBased.java 12 Sep 2007 15:33:45 -0000 1.1 >+++ src/org/eclipse/emf/internal/cdo/analyzer/CDOFeatureAnalyzerModelBased.java 13 Sep 2007 00:53:24 -0000 >@@ -11,6 +11,7 @@ > **************************************************************************/ > package org.eclipse.emf.internal.cdo.analyzer; > >+import org.eclipse.emf.cdo.internal.protocol.CDOIDNull; > import org.eclipse.emf.cdo.protocol.CDOID; > import org.eclipse.emf.cdo.protocol.analyzer.CDOFetchRule; > import org.eclipse.emf.cdo.protocol.model.CDOFeature; >@@ -48,7 +49,7 @@ > > public CDOID getContext() > { >- return null; >+ return CDOIDNull.NULL; > } > > public List<CDOFetchRule> getFetchRules(Collection<CDOID> ids) >Index: src/org/eclipse/emf/internal/cdo/analyzer/CDOClusterOfFetchRule.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.cdo/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/analyzer/CDOClusterOfFetchRule.java,v >retrieving revision 1.2 >diff -u -r1.2 CDOClusterOfFetchRule.java >--- src/org/eclipse/emf/internal/cdo/analyzer/CDOClusterOfFetchRule.java 12 Sep 2007 15:33:45 -0000 1.2 >+++ src/org/eclipse/emf/internal/cdo/analyzer/CDOClusterOfFetchRule.java 13 Sep 2007 00:53:24 -0000 >@@ -52,8 +52,7 @@ > @Override > public int hashCode() > { >- // TODO Missing "rootClass.hashCode() ^ " or intention? >- return rootFeature.hashCode(); >+ return rootFeature.hashCode() ^ rootClass.hashCode(); > } > > @Override >Index: src/org/eclipse/emf/internal/cdo/analyzer/CDOAbstractFeatureRuleAnalyzer.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.cdo/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/analyzer/CDOAbstractFeatureRuleAnalyzer.java,v >retrieving revision 1.1 >diff -u -r1.1 CDOAbstractFeatureRuleAnalyzer.java >--- src/org/eclipse/emf/internal/cdo/analyzer/CDOAbstractFeatureRuleAnalyzer.java 12 Sep 2007 15:33:45 -0000 1.1 >+++ src/org/eclipse/emf/internal/cdo/analyzer/CDOAbstractFeatureRuleAnalyzer.java 13 Sep 2007 00:53:24 -0000 >@@ -39,9 +39,6 @@ > > protected int loadRevisionCollectionChunkSize; > >- /** >- * TODO Can didFetch be derived from fetchCount? >- */ > private boolean didFetch; > > private int fetchCount = 0; >Index: src/org/eclipse/emf/internal/cdo/analyzer/CDOFetchFeatureInfo.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.cdo/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/analyzer/CDOFetchFeatureInfo.java,v >retrieving revision 1.2 >diff -u -r1.2 CDOFetchFeatureInfo.java >--- src/org/eclipse/emf/internal/cdo/analyzer/CDOFetchFeatureInfo.java 12 Sep 2007 15:33:45 -0000 1.2 >+++ src/org/eclipse/emf/internal/cdo/analyzer/CDOFetchFeatureInfo.java 13 Sep 2007 00:53:24 -0000 >@@ -104,8 +104,7 @@ > @Override > public int hashCode() > { >- // TODO Missing "cdoClass.hashCode() ^ " or intention? >- return cdoFeature.hashCode(); >+ return cdoClass.hashCode() ^ cdoFeature.hashCode(); > } > > @Override
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 202064
:
77860
|
77861
|
77950
|
77969
|
78135
|
78236
| 78242 |
78243
|
78395