Added comments to tests.
[sfa.git] / sfa / senslab / slabpostgres.py
index c327024..96c9498 100644 (file)
@@ -9,7 +9,7 @@ from sfa.util.sfalogging import logger
 from sqlalchemy import Column, Integer, String, DateTime
 from sqlalchemy import Table, Column, MetaData, join, ForeignKey
 import sfa.storage.model as model
-
+from sfa.storage.model import RegSlice
 from sqlalchemy.ext.declarative import declarative_base
 from sqlalchemy.orm import relationship, backref
 
@@ -20,6 +20,7 @@ from sqlalchemy import MetaData, Table
 from sqlalchemy.exc import NoSuchTableError
 
 from sqlalchemy import String
+from sfa.storage.alchemy import dbsession
 
 #Dict holding the columns names of the table as keys
 #and their type, used for creation of the table
@@ -40,23 +41,20 @@ SlabBase = declarative_base()
 class SliceSenslab (SlabBase):
     __tablename__ = 'slice_senslab' 
     #record_id_user = Column(Integer, primary_key=True)
+
     slice_hrn = Column(String,primary_key=True)
     peer_authority = Column( String,nullable = True)
     record_id_slice = Column(Integer)    
-    record_id_user = Column(Integer)
-    oar_job_id = Column( Integer,default = -1)
-    node_list = Column(postgresql.ARRAY(String), nullable =True)
+    record_id_user = Column(Integer) 
+
+    #oar_job_id = Column( Integer,default = -1)
+    #node_list = Column(postgresql.ARRAY(String), nullable =True)
     
-    def __init__ (self, slice_hrn =None, oar_job_id=None, record_id_slice=None, record_id_user= None,peer_authority=None):
-        self.node_list = []
+    def __init__ (self, slice_hrn =None, record_id_slice=None, record_id_user= None,peer_authority=None):
         if record_id_slice: 
             self.record_id_slice = record_id_slice
         if slice_hrn:
             self.slice_hrn = slice_hrn
-        if oar_job_id:
-            self.oar_job_id = oar_job_id
-        if slice_hrn:
-            self.slice_hrn = slice_hrn 
         if record_id_user: 
             self.record_id_user= record_id_user
         if peer_authority:
@@ -64,8 +62,8 @@ class SliceSenslab (SlabBase):
             
             
     def __repr__(self):
-        result="<Record id user =%s, slice hrn=%s, oar_job id=%s,Record id slice =%s  node_list =%s peer_authority =%s"% \
-                (self.record_id_user, self.slice_hrn, self.oar_job_id, self.record_id_slice, self.node_list, self.peer_authority)
+        result="<Record id user =%s, slice hrn=%s, Record id slice =%s ,peer_authority =%s"% \
+                (self.record_id_user, self.slice_hrn, self.record_id_slice, self.peer_authority)
         result += ">"
         return result
           
@@ -74,10 +72,11 @@ class SliceSenslab (SlabBase):
         'peer_authority':self.peer_authority,
         'record_id':self.record_id_slice, 
         'record_id_user':self.record_id_user,
-        'oar_job_id':self.oar_job_id, 
-        'record_id_slice':self.record_id_slice, 
-         'node_list':self.node_list}
-        return dict       
+        'record_id_slice':self.record_id_slice, }
+        return dict 
+          
+             
+
 #class PeerSenslab(SlabBase):
     #__tablename__ = 'peer_senslab' 
     #peername = Column(String, nullable = False)
@@ -181,61 +180,8 @@ class SlabDB:
         SlabBase.metadata.create_all(slab_engine)
         return
     
-    #Updates the job_id and the nodes list 
-    #The nodes list is never erased.
-    def update_job(self, hrn, job_id= None, nodes = None ):
-        slice_rec = slab_dbsession.query(SliceSenslab).filter_by(slice_hrn = hrn).first()
-        print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES  update_job slice_rec %s"%(slice_rec)
-        if job_id is not None:
-            slice_rec.oar_job_id = job_id
-        if nodes is not None :
-            slice_rec.node_list = nodes
-        slab_dbsession.commit()
-
-    def find (self, name = None, filter_dict = None):
-        print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find  filter_dict %s"%(filter_dict)
-
-        #Filter_by can not handle more than one argument, hence these functions
-        def filter_id_user(query, user_id):
-            print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find  filter_id_user"
-            return query.filter_by(record_id_user = user_id)
-        
-        def filter_job(query, job):
-            print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find filter_job "
-            return query.filter_by(oar_job_id = job)
-        
-        def filer_id_slice (query, id_slice):
-            print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find  filer_id_slice"
-            return query.filter_by(record_id_slice = id_slice)
-        
-        def filter_slice_hrn(query, hrn):
-            print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find  filter_slice_hrn"
-            return query.filter_by(slice_hrn = hrn)
-        
-        
-        extended_filter = {'record_id_user': filter_id_user,
-         'oar_job_id':filter_job,
-         'record_id_slice': filer_id_slice,
-         'slice_hrn': filter_slice_hrn}
-         
-        Q = slab_dbsession.query(SliceSenslab) 
-        
-        if filter_dict is not None:
-            for k in filter_dict:
-                try:
-                  newQ= extended_filter[k](Q, filter_dict[k])
-                  Q = newQ
-                except KeyError:
-                    print>>sys.stderr, "\r\n \t\t FFFFFFFFFFFFFFFFUUUUUUUUFUFUFU!!!!!!!!"
-        print>>sys.stderr, " HEEEEEEEEEEEEY %s " %(Q.first())
-        rec = Q.first()
-        print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find  rec %s" %(rec)
-        return dict(zip(['record_id_user','oar_job_id', 'record_id_slice','slice_hrn'],[rec.record_id_user,rec.oar_job_id,rec.record_id_slice, rec.slice_hrn]))
-        #reclist = []
-        ##for rec in Q.all():
-            #reclist.append(dict(zip(['record_id_user','oar_job_id', 'record_id_slice','slice_hrn'],[rec.record_id_user,rec.oar_job_id,rec.record_id_slice, rec.slice_hrn])))
-        #return reclist
-        
+    
+