Eike Stepper ES-Computersysteme Berlin, Germany CDO Model Repository An Update.

Slides:



Advertisements
Similar presentations
TPTP Data Model 1 Database support for TPTP EMF based data models using Elver/Hibernate Guru Nagarajan July 14, 2006.
Advertisements

Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Refeng Wu CQ5 WCM System Administrator
Eike Stepper Berlin, Germany CDO Model Repository 4.1 Release Review.
Scale, Share and Store your Models with CDO 2.0 Eclipse Live Webinar, January 29, 2009 Eike Stepper
Eike Stepper Berlin, Germany Now that I've Got a Model EclipseCon Europe ,
Feature requests for Case Manager By Spar Nord Bank A/S IBM Insight 2014 Spar Nord Bank A/S1.
Eike Stepper Berlin, Germany Scale, Share and Store your Models with CDO 2.0 EclipseCon.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
© 2009 IBM Corporation 1 RTC ClearQuest Importer and Synchronizer Lorelei Ngooi – RTC ClearQuest Synchronizer Lead.
Unit Testing & Defensive Programming. F-22 Raptor Fighter.
What’s new in Stack 3.2 Michael Youngstrom. Disclaimer This IS a presentation – So sit back and relax Please ask questions.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
Software Architecture for ColdFusion Developers Unit 4: Application Events and Global Variables.
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
© 2008 by Eike Stepper; made available under the EPL v1.0 | Connected Data Objects (CDO) The EMF Model Repository.
Eike Stepper Berlin, Germany The CDO Model Repository Perfect for the Enterprise.
Data File Access API : Under the Hood Simon Horwith CTO Etrilogy Ltd.
By Lecturer / Aisha Dawood 1.  You can control the number of dispatcher processes in the instance. Unlike the number of shared servers, the number of.
Model Handling with EMF Eclipse ECESIS Project Model handling with EMF An introduction to the Eclipse Modeling Framework ATLAS group (INRIA & LINA),
© 2009 by Eike Stepper; made available under the EPL v1.0 | The Net4j Signalling Platform Developing Pluggable Client/Server Applications Eike.
MySQL Connection using ADO.Net Connecting to MySQL from.NET Languages.
© Blackboard, Inc. All rights reserved. Deploying a complex building block Andre Koehorst Learning Lab Universiteit Maastricht, the Netherlands July 18.
Eike Stepper Berlin, Germany Scale, Share and Store your Models with CDO EclipseCon.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
CAS Lightning Talk Jasig-Sakai 2012 Tuesday June 12th 2012 Atlanta, GA Andrew Petro - Unicon, Inc.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Hibernate 3.0. What is Hibernate Hibernate is a free, open source Java package that makes it easy to work with relational databases. Hibernate makes it.
ALICE, ATLAS, CMS & LHCb joint workshop on
ATLAS Detector Description Database Vakho Tsulaia University of Pittsburgh 3D workshop, CERN 14-Dec-2004.
Eike Stepper ES-Computersysteme Berlin, Germany Net4j Signalling Platform Developing Pluggable Client/Server Applications.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Forms with Spring MVC Handling Form.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
2/26/021 Pegasus Security Architecture Author: Nag Boranna Hewlett-Packard Company.
Ganymede Simultaneous Release | © 2008 by Springsite B.V., The Netherlands made available under the EPL v1.0 Teneo Ganymede Simultaneous Release.
CMap Version 0.16 Ben Faga. CMap CMap Version 0.16 Bug fixes and code optimizations More intuitive menu system Asynchronous loading of comparative map.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Eike Stepper Berlin, Germany CDO Orthogonal Aspects of Models EclipseCon Europe,
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Introduction to Data Access with Spring.
Eike Stepper Berlin, Germany Scale, Share and Store your Models with CDO Eclipse.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Eike Stepper Berlin, Germany CDO Model Repository Where Models Live SAP Modeling.
Eike Stepper ES-Computersysteme Berlin, Germany CDO 2.0 Preview Power to the People Appealing to a Broader Community.
Eike Stepper ES-Computersysteme Berlin, Germany CDO Model Repository A Model Repository for EMF A Framework for.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Overview of the Spring Framework Introducing.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Module 5: Managing Content. Overview Publishing Content Executing Reports Creating Cached Instances Creating Snapshots and Report History Creating Subscriptions.
Java Object-Relational Layer Sharon Diskin GUS 3.0 Workshop June 18-21, 2002.
October 2014 HYBRIS ARCHITECTURE & TECHNOLOGY 01 OVERVIEW.
The Holmes Platform and Applications
Architecture Review 10/11/2004
Jean-Philippe Baud, IT-GD, CERN November 2007
CARA 3.10 Major New Features
Self Healing and Dynamic Construction Framework:
CDO Orthogonal Aspects of Models
Eike Stepper Berlin, Germany
Scale, Share and Store your Models with CDO
Connected Data Objects (CDO)
CDO Model Repository Where Models Live
A Model Repository for EMF A Framework for Distributed Shared Models
– JukeBox – transparency, flexibility, speed and comfort!
Teneo Ganymede Simultaneous Release Graduation Review
A Model Repository for EMF A Framework for Distributed Shared Models
Now that I've Got a Model Where's My Application?
Plug-In Architecture Pattern
Presentation transcript:

Eike Stepper ES-Computersysteme Berlin, Germany CDO Model Repository An Update

175 Bugzillas since Ganymede Implement detach Exception handling ProvideCDOID should not change the state of the object CDOObject id, state, view and revision are not properly updated after CDOResource.delete() Create save points ReferenceChunk isn't working with add/remove of list (CDOReferenceProxy) Manage the "isLoaded" property of CDOResource Resources fetched using CDOViewImpl.getResource(CDOID) not added to ResourceSet Persisted objects keeps references to detached objects through deltas Channels are messed up in remote connector Add resource queries [DB] Use prepared statements if appropriate Provide optional pooling of store accessors Implement getURIFragment and getEObject [Hibernate] Issues with package reference Make remote invalidation configurable [QUERY] Develop Query mechanism Automatic link persistence objects together Add CDOTransactionHandler.rollingbackTransaction() Change Subscription [UI] Persisting dynamic models fails Enable API Tooling Improve package installation: required libraries [Hibernate] CCE in TeneoHibernateMappingProvider [Hibernate] Nested ID jar should be built automatically [Hibernate] ID Library is inconsistent Merge simon_merge_ to HEAD [Hibernate] Hibernate session not set in thread context when reading a stored object Automate workspace installation Substitute nested JDBC jars by package imports [Hibernate] Hide internal code [Hibernate] Resource is empty after closing and restarting eclipse [Hibernate] Problem with CDOIDHibernateImpl.equals() [Hibernate] Leakage problem UnsupportedClassVersionErrors in PackageRegistryTest (R1_0_maintenance only) Adjust the build for un-nested p3rd party jars [Migrator] CDO.MF is put into the source, not the destination project [Hibernate] Exception: No annotated model element present for ISingleRefContainer for type EClass has its epackage been registered with Teneo? cdoResource() is not updated if containment changes Develop Template Tooling Make timeout in Connector.openChannel(IProtocol protocol) configurable Make timeouts in read-access requests configurable Provide screencast (create-a-model) Net4J PostgreSQL DBAdapter [DB] Error in MappingStrategy when reading resourcepath by ID [Documentation] PROP_SUPPORTING_REVISION_DELTAS undocumented Add caching properties to CDOSessionConfiguration java.lang.IllegalStateException with MEMStore Implement shortcut for transaction.getObject(object.cdoId()) NPE during Transaction.getObject(id, false) [Hibernate] Create HibernateStoreFactory provide a workspace setup (for CDO development) that works on linux, too Decouple Signal from IChannel Decouple IConnector from IManagedContainer Challenge Negotiator should throw an SecurityException if login failed Export resource to XMI Prevent subpackage read in CDOTransaction and add antlr plugin to runtime CDOReadIndications should not get IStoreReader Provide a "Tweak Performance" tutorial Provide memory sensitive revision cache Remove unnecessary traversals in CompletePackageClosure Fix for has broken DBStore.repairAfterCrash(*) Make MEMStore more configurable Provide a two level revision cache Change the default revision cache to TwoLevelRevisionCache [UI] Load resource in CreateResourceAction if it already exists CDOServer.product doesn't work out of box on OS-X ArrayIndexOutOfBoundsException when importing resoruces Optimize transfer of Package URIs NullPointerException in the revision cache [PERF] Optimize CDOTransactionImpl.AnalyzeNewPackage Support addition/removal of many resources Error occurs when getOrCreateResource is called CDOStore.set doesn't affect variable correctly (Could cause memory retention) Shouldn't override hasProxies and use default behavior in CDOObjectImpl Support containment proxies Implement Resource.delete() Override CDOEditorInput.equals(), CDOSession.equals() and CDOView.equals() Remove NOOPStore Add detach object handling to CDOTransactionHandler [POLISH] Remove uniqueResourceContents [POLISH] Remove the CDOWeaver Explicit locking Prefix for EClass names in DBStore [DB] Implement DBStoreAccessor.detachObject(CDOID id) [Hibernate] Make it possible to override standard Teneo extensions [PERF] ModelUtil.getCDOFeature(eFeature, packageManager) [POLISH] Remove TransientContents list from CDOResourceImpl Develop configurable test bed [Hibernate] Problem with TeneoHibernateMapping on Apache Derby Feature ID not set when creating dynamic eClass with attributes Provide a CDOSession.setInitialReferenceChunkSize() Refactor CDOView.setLoadRevisionCollectionChunkSize ImportPackage missing in org.eclipse.emf.cdo.server.hibernate.teneo [QUERY] Give queries the ability to respect the current view CDOView.hasResource() is not aware of deleted resources Infinite loop found in org.eclipse.emf.cdo.server.internal.db.ClassMapping.java Deactivate Session when SessionManager is deactivated, CloseView in Session.doDeactivate Support CDOAudit.setTimeStamp() EMFUtil.ePackageToString(..) removes EPackage from its Resource IStoreReader isn't released for a query (example queryResources) PassiveUpdate = false doesn't detach object if refresh SyncRevisionRequest/Indication needs to transfer the timestamp for each objects [Hibernate] FileHibernateMappingProvider unable to load declared mappingFile CDOViewImpl.deregisterObject() is broken Protect closed sessions and their views against illegal usage Use of qualified names property causes DB Exceptions due to truncation and table exists CDOResource.eAdapters should call super.didAdd() and super.didRemove() Provide interceptors at the server-side to run validation, filtering, Audit does not inhibit instantiation with timestamps prior to repo creation Provide the userID also for IChannel through IUserAware Provide the userID also for CDOProtocolSession through IUserAware NPE due to missing protocol in SignalActor Dynamic models in the global EPackage.Registry are not committed Provide a public view lock to protect clients against remote invalidation Provide INegotiatorAware and ITransportConfigAware interfaces Make it easier to configure authentication Store resources in a hierarchical structure Add a method to the test framework to purge the server caches IHTTPConnector is present in 2 bundles! New testcases for Transient features Invalidation doesn't work for EMap Feature CDOPackageRegistryImpl should offer delegation ReflectUtil.getID should be synchronized (infinite loop) [DB] Create DB indexes for mapped tables Problem with ReferenceMapping and generalization Enhance the way stores express their capabilities Deadlock in LRURevisionCache Decouple CDOClientRequests from IChannel IllegalArgumentException: created > revised NPE in ChangeSubscriptionManager.isPending() while subscribing a pending TRANSIENT-by-removal object EOpposite reference are not updated when I detach an object from a resource.(it should contains EObject not CDOID) LRURevisionCache affect wrong revised number to revision CDOResource with root=true returns eResource()==null Use of qualified names property makes it more likely to hit db table name limits [DB] Enhanced ComplexTest test cases fail Instance of list are not the same for the following transition transient/new persisted/transient resulting strange behavior (NPE) Some cdo plugin.xml files have not been properly updated While committing, error in CommitIndicationTransaction.indicating doesn't stop the commit process [DB] DBStore with MySql to be added in the testing framework [DB] ChunkReader not working with DBStore Enable opening new channels on the same connector as a given channel SessionConfig [DB] cache miss on server leads to references not being read StackOverflow in CDOEditor.populateNewRoot() when sessino.packageRegistry contains a package not registered in the client machine Should CDOEditor allow the user to create CDOObjects instances? ServerInfo throws NPE in getDBID() for ModelElements of eresource.ecore NPE when calling audit.setTimeStamp() Provide proper RemoteException for signals [POLISH] Consolidate IStoreAccessor SPI session.refresh should not go through lock/thread invalidation Provide no timeout option for IConnector [DB] All DBStoreAccessors passivated to writers pool [UI] Hide missing local packages from "New Root" menu Objects not updated when CDOSessionInvalidationEvent is received [DB] NPE when trying to update objects [DB] exception when trying to commit changes [Query] Query should use the new exception handling Give the infrastructure of an IProtocol a parametric type [POLISH] Pass protocol and signalID in Signal constructor Revised revision for nothing when committing ResourceTest contains testcases related to Audit mode [DB] Add JDBC connection wrappers [CDO] CDOTransaction.postCommit not adjusting the Transaction/View reference Session not removed from SessionManager when Channel goes down [UI] Lock objects from CDOEditor (READ/WRITE) XATransaction doesn't release Accessor correctly [DB] Qualified table names still exceed db table limit [POLISH] Introduce InternalCDOSession, InternalCDOView, Support external references Support distributed transactions CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.02

CDO Architecture CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.03 Model Repository Storage Backend Session View Transaction Audit

EMF Integration CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.04 View ResourceSet Resource EObject Session Package.Registry 1:1 CDO 1.0

EMF Integration CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.05 ViewSet ResourceSet Package.Registry 1:1 CDO 2.0 View Session View Session 1:n

EMF Integration CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.06 ViewSet ResourceSet 1:1 CDO 2.0 XA Transaction 1:n View Transaction

Open a CDO Session CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.07 public void testSession() throws Exception { OMPlatform.INSTANCE.addTraceHandler(PrintTraceHandler.CONSOLE); OMPlatform.INSTANCE.addLogHandler(PrintLogHandler.CONSOLE); OMPlatform.INSTANCE.setDebugging(true); IConnector connector = (IConnector)IPluginContainer.INSTANCE. getElement("org.eclipse.net4j.connectors", "tcp", "localhost"); CDOSessionConfiguration config = CDOUtil.createSessionConfiguration(); config.setConnector(connector); config.setRepositoryName("repo1"); config.setLazyPackageRegistry(); CDOSession session = config.openSession(); //... }

Structured Resources / Queries CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.08 public void testStructuredResources() throws Exception { CDOSession session = openModel1Session(); CDOView view = session.openView(); for (CDOResourceNode node : view.queryResources(null, "my", false)) { if (node instanceof CDOResourceFolder) { EList subNodes = ((CDOResourceFolder)node).getNodes(); } else { EList contents = ((CDOResource)node).getContents(); } } session.close(); }

Explicit Locking CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.09 public void testExplicitLocking() throws Exception { CDOSession session = openModel1Session(); CDOTransaction transaction = session.openTransaction(); CDOResource resource = transaction.getOrCreateResource("/my/resource"); resource.cdoWriteLock().lock(); resource.getContents().add(Model1Factory.eINSTANCE.createCompany()); resource.getContents().add(Model1Factory.eINSTANCE.createCompany()); resource.getContents().add(Model1Factory.eINSTANCE.createCompany()); transaction.setAutoReleaseLocksEnabled(true); transaction.commit(); session.close(); }

Save Points CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.010 public void testSavepoints() throws Exception { CDOSession session = openModel1Session(); CDOTransaction transaction = session.openTransaction(); CDOResource resource = transaction.getOrCreateResource("/my/resource"); resource.getContents().add(Model1Factory.eINSTANCE.createCompany()); resource.getContents().add(Model1Factory.eINSTANCE.createCompany()); CDOSavepoint savepoint = transaction.setSavepoint(); resource.getContents().add(Model1Factory.eINSTANCE.createSupplier()); resource.getContents().add(Model1Factory.eINSTANCE.createSupplier()); transaction.rollback(savepoint); transaction.commit(); session.close(); }

Passive Updates CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.011 public void testPassiveUpdate() throws Exception { CDOSession session = openModel1Session(); CDOView view = session.openView(); CDOResource resource = view.getResource("/my/resource"); session.setPassiveUpdateEnabled(false); for (EObject object : resource.getContents()) { Company company = (Company)object; // … } session.refresh(); session.setPassiveUpdateEnabled(true); }

Change Subscriptions CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.012 public void testChangeSubscription() throws Exception { CDOSession session = openModel1Session(); CDOView view = session.openView(); view.setChangeSubscriptionPolicy(CDOChangeSubscriptionPolicy.ONLY_CDO_ADAPTER); class ResourceAdapter extends AdapterImpl implements CDOAdapter public void notifyChanged(Notification msg) { System.out.println("Modified remotely: " + msg.getNotifier()); } } CDOResource resource = view.getResource("/my/resource"); resource.eAdapters().add(new ResourceAdapter()); }

Query Framework CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.013 public void testQuerySupport() throws Exception { CDOSession session = openModel1Session(); CDOView view = session.openView(); String sql = "SELECT cdoid FROM Company WHERE name LIKE ${name}"; CDOQuery query = view.createQuery("SQL", sql); query.setParameter("name", "Foo%"); CloseableIterator result = query.getResultAsync(Company.class); for (Iterator it = result; it.hasNext();) { Company company = it.next(); System.out.println(company); } session.close(); }

Eike Stepper ES-Computersysteme Berlin, Germany Thank You