use sfa.rspecs.rspec.RSpec instead of sfa.rspecs.pg_rspec.PGRSpec and sfa.rspecs...
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Mon, 3 Oct 2011 20:46:48 +0000 (16:46 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Mon, 3 Oct 2011 20:46:48 +0000 (16:46 -0400)
sfa/rspecs/pg_rspec_converter.py
sfa/rspecs/rspec_converter.py
sfa/rspecs/sfa_rspec_converter.py

index 4686e4c..875af8d 100755 (executable)
@@ -2,8 +2,8 @@
 from lxml import etree
 from StringIO import StringIO
 from sfa.util.xrn import *
-from sfa.rspecs.pg_rspec import PGRSpec 
-from sfa.rspecs.sfa_rspec import SfaRSpec
+from sfa.rspecs.rspec import RSpec
+from sfa.rspecs.version_manager import VersionManager
 
 xslt='''<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="xml" indent="no"/>
@@ -35,20 +35,23 @@ class PGRSpecConverter:
 
     @staticmethod
     def to_sfa_rspec(rspec):
-        if isinstance(rspec, PGRSpec):
+        if not isinstance(rspec, RSpec):
+            pg_rspec = RSpec(rspec)
+        else:
             pg_rspec = rspec
-        else:        
-            pg_rspec = PGRSpec(rspec=rspec)
-        sfa_rspec = SfaRSpec()
+        
+        version_manager = VersionManager()
+        sfa_version = version_manager._get_version('sfa', '1')    
+        sfa_rspec = RSpec(version=sfa_version)
 
         # get network
-        network_urn = pg_rspec.get_network()
+        network_urn = pg_rspec.version.get_network()
         network,  _ = urn_to_hrn(network_urn)
         network_element = sfa_rspec.add_element('network', {'name': network, 'id': network})
         
         # get nodes
-        pg_nodes_elements = pg_rspec.get_node_elements()
-        nodes_with_slivers = pg_rspec.get_nodes_with_slivers()
+        pg_nodes_elements = pg_rspec.version.get_node_elements()
+        nodes_with_slivers = pg_rspec.version.get_nodes_with_slivers()
         i = 1
         for pg_node_element in pg_nodes_elements:
             attribs = dict(pg_node_element.attrib.items()) 
index 6f96d4f..4ea74c2 100755 (executable)
@@ -2,19 +2,20 @@
 
 from sfa.rspecs.pg_rspec_converter import PGRSpecConverter
 from sfa.rspecs.sfa_rspec_converter import SfaRSpecConverter
-from sfa.rspecs.sfa_rspec import sfa_rspec_version
-from sfa.rspecs.pg_rspec import pg_rspec_ad_version, pg_rspec_request_version
-from sfa.rspecs.rspec_parser import parse_rspec
-
+from sfa.rspecs.rspec import RSpec
+from sfa.rspecs.version_manager import VersionManager
 
 class RSpecConverter:
 
     @staticmethod
     def to_sfa_rspec(in_rspec):
-        rspec = parse_rspec(in_rspec)
-        if rspec.version['type'] == sfa_rspec_version['type']: 
+        rspec = RSpec(in_rspec)
+        version_manager = VersionManager()
+        sfa_version = version_manager._get_version('sfa', '1')
+        pg_version = version_manager._get_version('protogeni', '2')
+        if rspec.version.type.lower() == sfa_version.type.lower(): 
           return in_rspec
-        elif rspec.version['type'] == pg_rspec_ad_version['type']:
+        elif rspec.version.type.lower() == pg_version.type.lower(): 
             return PGRSpecConverter.to_sfa_rspec(in_rspec)
         else:
             return in_rspec 
@@ -22,9 +23,14 @@ class RSpecConverter:
     @staticmethod 
     def to_pg_rspec(in_rspec):
         rspec = parse_rspec(in_rspec)
-        if rspec.version['type'] == pg_rspec_ad_version['type']:
+        rspec = RSpec(in_rspec)
+        version_manager = VersionManager()
+        sfa_version = version_manager._get_version('sfa', '1')
+        pg_version = version_manager._get_version('protogeni', '2')
+
+        if rspec.version.type.lower() == pg_version.type.lower(): 
             return in_rspec
-        elif rspec.version['type'] == sfa_rspec_version['type']:
+        elif rspec.version.type.lower() == sfa_version.type.lower(): 
             return SfaRSpecConverter.to_pg_rspec(in_rspec)
         else:
             return in_rspec 
index 972835f..4d07846 100755 (executable)
@@ -3,25 +3,28 @@
 from lxml import etree
 from StringIO import StringIO
 from sfa.util.xrn import *
-from sfa.rspecs.sfa_rspec import SfaRSpec
-from sfa.rspecs.pg_rspec import PGRSpec
+from sfa.rspecs.rspec import RSpec
+from sfa.rspecs.version_manager import VersionManager
 
 class SfaRSpecConverter:
 
     @staticmethod
     def to_pg_rspec(rspec):
-        if isinstance(rspec, SfaRSpec):
-            sfa_rspec = rspec
+        if not isinstance(rspec, RSpec):
+            sfa_rspec = RSpec(rspec)
         else:
-            sfa_rspec = SfaRSpec(rspec=rspec)
-        pg_rspec = PGRSpec()
-    
+            sfa_rspec = rspec
+   
+        version_manager = VersionManager()
+        pg_version = version_manager._get_version('protogeni', '2', 'request')
+        pg_rspec = RSpec(version=pg_version)
         # get networks
-        networks = sfa_rspec.get_networks()
+        networks = sfa_rspec.version.get_networks()
         
         for network in networks:
             # get nodes
-            sfa_node_elements = sfa_rspec.get_node_elements(network=network)
+            sfa_node_elements = sfa_rspec.version.get_node_elements(network=network)
             for sfa_node_element in sfa_node_elements:
                 # create node element
                 node_attrs = {}