[Commits] (vajda) added support for creating a view of a particular version

commits at osafoundation.org commits at osafoundation.org
Wed Apr 20 14:08:25 PDT 2005


Commit by: vajda
Modified files:
chandler/repository/persistence/DBRepository.py 1.8 1.9
chandler/repository/persistence/Repository.py 1.98 1.99
chandler/repository/persistence/RepositoryView.py 1.39 1.40
chandler/repository/persistence/RepositoryViewManager.py 1.1 1.2

Log message:
added support for creating a view of a particular version

ViewCVS links:
http://cvs.osafoundation.org/index.cgi/chandler/repository/persistence/DBRepository.py.diff?r1=text&tr1=1.8&r2=text&tr2=1.9
http://cvs.osafoundation.org/index.cgi/chandler/repository/persistence/Repository.py.diff?r1=text&tr1=1.98&r2=text&tr2=1.99
http://cvs.osafoundation.org/index.cgi/chandler/repository/persistence/RepositoryView.py.diff?r1=text&tr1=1.39&r2=text&tr2=1.40
http://cvs.osafoundation.org/index.cgi/chandler/repository/persistence/RepositoryViewManager.py.diff?r1=text&tr1=1.1&r2=text&tr2=1.2

Index: chandler/repository/persistence/RepositoryViewManager.py
diff -u chandler/repository/persistence/RepositoryViewManager.py:1.1 chandler/repository/persistence/RepositoryViewManager.py:1.2
--- chandler/repository/persistence/RepositoryViewManager.py:1.1	Mon Apr  4 15:13:21 2005
+++ chandler/repository/persistence/RepositoryViewManager.py	Wed Apr 20 14:08:24 2005
@@ -1,6 +1,6 @@
 
-__revision__  = "$Revision: 1.1 $"
-__date__      = "$Date: 2005/04/04 22:13:21 $"
+__revision__  = "$Revision: 1.2 $"
+__date__      = "$Date: 2005/04/20 21:08:24 $"
 __copyright__ = "Copyright (c) 2004 Open Source Applications Foundation"
 __license__   = "http://osafoundation.org/Chandler_0.1_license_terms.htm"
 
@@ -12,7 +12,7 @@
 
 class AbstractRepositoryViewManager(object):
 
-    def __init__(self, repository, viewName = None):
+    def __init__(self, repository, viewName=None, version=None):
         """
         Base Class for View Context Management.
 
@@ -27,7 +27,7 @@
             raise RepositoryError, "Repository Instance is None"
 
         self.repository = repository
-        self.view = self.repository.createView(viewName)
+        self.view = self.repository.createView(viewName, version)
         self.prevView = None
         self.callChain = False
         self.log = self._getLog()

Index: chandler/repository/persistence/Repository.py
diff -u chandler/repository/persistence/Repository.py:1.98 chandler/repository/persistence/Repository.py:1.99
--- chandler/repository/persistence/Repository.py:1.98	Fri Mar 25 13:53:57 2005
+++ chandler/repository/persistence/Repository.py	Wed Apr 20 14:08:24 2005
@@ -1,6 +1,6 @@
 
-__revision__  = "$Revision: 1.98 $"
-__date__      = "$Date: 2005/03/25 21:53:57 $"
+__revision__  = "$Revision: 1.99 $"
+__date__      = "$Date: 2005/04/20 21:08:24 $"
 __copyright__ = "Copyright (c) 2003-2004 Open Source Applications Foundation"
 __license__   = "http://osafoundation.org/Chandler_0.1_license_terms.htm"
 
@@ -164,7 +164,7 @@
 
         self.view.openView()
 
-    def createView(self, name=None):
+    def createView(self, name=None, version=None):
         """
         Create a repository view.
 
@@ -178,7 +178,7 @@
         @type name: a string
         """
 
-        return RepositoryView(self, name)
+        return RepositoryView(self, name, version)
 
     def commit(self, mergeFn=None):
         """
@@ -497,9 +497,9 @@
     An abstract repository for on-demand loaded items.
     """
 
-    def createView(self, name=None):
+    def createView(self, name=None, version=None):
 
-        return OnDemandRepositoryView(self, name)
+        return OnDemandRepositoryView(self, name, version)
 
 
 class Store(object):

Index: chandler/repository/persistence/RepositoryView.py
diff -u chandler/repository/persistence/RepositoryView.py:1.39 chandler/repository/persistence/RepositoryView.py:1.40
--- chandler/repository/persistence/RepositoryView.py:1.39	Mon Apr 18 12:41:34 2005
+++ chandler/repository/persistence/RepositoryView.py	Wed Apr 20 14:08:24 2005
@@ -1,6 +1,6 @@
 
-__revision__  = "$Revision: 1.39 $"
-__date__      = "$Date: 2005/04/18 19:41:34 $"
+__revision__  = "$Revision: 1.40 $"
+__date__      = "$Date: 2005/04/20 21:08:24 $"
 __copyright__ = "Copyright (c) 2004 Open Source Applications Foundation"
 __license__   = "http://osafoundation.org/Chandler_0.1_license_terms.htm"
 
@@ -24,7 +24,7 @@
     views until the view is refreshed during a L{commit}.
     """
     
-    def __init__(self, repository, name):
+    def __init__(self, repository, name, version):
         """
         Initializes a repository view.
 
@@ -895,13 +895,17 @@
 
 class OnDemandRepositoryView(RepositoryView):
 
-    def __init__(self, repository, name):
+    def __init__(self, repository, name, version):
+
+        if version is not None:
+            self._version = version
+        else:
+            self._version = repository.store.getVersion()
 
-        self._version = repository.store.getVersion()
         self._exclusive = ThreadSemaphore()
         self._hooks = []
         
-        super(OnDemandRepositoryView, self).__init__(repository, name)
+        super(OnDemandRepositoryView, self).__init__(repository, name, version)
 
     def isNew(self):
 
@@ -1037,7 +1041,7 @@
 
     def __init__(self):
 
-        super(NullRepositoryView, self).__init__(None, "null view")
+        super(NullRepositoryView, self).__init__(None, "null view", 0)
 
         self._logger = logging.getLogger('repository')
         self._logger.addHandler(logging.StreamHandler())

Index: chandler/repository/persistence/DBRepository.py
diff -u chandler/repository/persistence/DBRepository.py:1.8 chandler/repository/persistence/DBRepository.py:1.9
--- chandler/repository/persistence/DBRepository.py:1.8	Fri Mar 18 13:41:48 2005
+++ chandler/repository/persistence/DBRepository.py	Wed Apr 20 14:08:24 2005
@@ -1,6 +1,6 @@
 
-__revision__  = "$Revision: 1.8 $"
-__date__      = "$Date: 2005/03/18 21:41:48 $"
+__revision__  = "$Revision: 1.9 $"
+__date__      = "$Date: 2005/04/20 21:08:24 $"
 __copyright__ = "Copyright (c) 2003-2004 Open Source Applications Foundation"
 __license__   = "http://osafoundation.org/Chandler_0.1_license_terms.htm"
 
@@ -320,9 +320,9 @@
                 os.remove(self._openFile)
                 self._openFile = None
 
-    def createView(self, name=None):
+    def createView(self, name=None, version=None):
 
-        return DBRepositoryView(self, name)
+        return DBRepositoryView(self, name, version)
 
     openUUID = UUID('c54211ac-131a-11d9-8475-000393db837c')
     OPEN_FLAGS = DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN | DB_THREAD



More information about the Commits mailing list