def xdbc_server(self, name, group='Default', port=0, root='/', content_db_name=None, modules_db_name=None, connection=None): """ Get the named XDBC server. """ if connection is None: server = XdbcServer(name, group, port, root, content_db_name, modules_db_name, connection=self.connection, save_connection=self.save_connection) else: server = XdbcServer(name, group, port, root, content_db_name, modules_db_name, connection=connection, save_connection=False) if connection is None: server = server.read(self.connection) else: server = server.read(connection) if server.server_type() != 'xdbc': raise InvalidAPIRequest("Attempt to load {0} server as xdbc" \ .format(server.server_type())) return server
def create(self, args, config, connection): stype = args['type'] if stype == 'http': server = HttpServer(args['name'], args['group'], args['port'], args['root'], args['database'], args['modules'], connection) elif stype == 'odbc': server = OdbcServer(args['name'], args['group'], args['port'], args['root'], args['database'], args['modules'], connection) elif stype == 'xdbc': server = XdbcServer(args['name'], args['group'], args['port'], args['root'], args['database'], args['modules'], connection) elif stype == 'webdav': server = WebDAVServer(args['name'], args['group'], args['port'], args['root'], args['database'], connection) else: print("Unexpected server type: {0}".format(stype)) sys.exit(1) if server.exists(connection): print("Error: Server already exists: {0} in group {1}".format( args['name'], args['group'])) sys.exit(1) if args['json'] is not None: server = self._read(args['name'], args['group'], stype, args['json']) self._properties(server, args) server.create()
def test_create_xdbc_server(self): server = XdbcServer("foo-xdbc", "Default", 10101, '/', 'Documents') assert "foo-xdbc" == server.server_name() server.create(self.connection) assert server is not None assert "xdbc" == server.server_type() server.delete(self.connection) server = Server.lookup(self.connection, "foo-xdbc") assert server is None
def create(self, args, config, connection): name = args['name'] group = args['group'] stype = args['type'] if args['json'] is not None: server = self._read(name, group, stype, args['json'], connection=connection) name = server.server_name() group = server.group_name() stype = server.server_type() else: if stype == 'http': server = HttpServer(name, group, args['port'], args['root'], args['database'], args['modules'], connection=connection) elif stype == 'odbc': server = OdbcServer(name, group, args['port'], args['root'], args['database'], args['modules'], connection=connection) elif stype == 'xdbc': server = XdbcServer(name, group, args['port'], args['root'], args['database'], args['modules'], connection=connection) elif stype == 'webdav': server = WebDAVServer(name, group, args['port'], args['root'], args['database'], connection=connection) else: print("Unexpected server type: {0}".format(stype)) sys.exit(1) if server.exists(connection): print("Error: Server already exists: {0} in group {1}".format( name, group)) sys.exit(1) self._properties(server, args) print("Create {0} server {1}...".format(stype, name)) server.create()
def xdbc_servers(self, connection=None): """ Get a list of the XDBC servers in the local cluster. """ if connection is None: connection = self.connection return XdbcServer.list(connection)
def test_create_xdbc_server(self): connection = Connection.make_connection(tc.hostname, tc.admin, tc.password) server = XdbcServer("foo-xdbc", "Default", 10101, '/', 'Documents') self.assertEqual(server.server_name(), "foo-xdbc") server.create(connection) self.assertIsNotNone(server) self.assertEqual("xdbc", server.server_type()) server.delete(connection) server = Server.lookup(connection, "foo-xdbc") self.assertIsNone(server)
def _read(self, name, group, stype, jsonfile, connection=None, save_connection=True): jf = open(jsonfile).read() data = json.loads(jf) if name is not None: data['server-name'] = name if group is not None: data['group-name'] = group if stype is not None: data['server-type'] = stype stype = data['server-type'] if stype == 'http': server = HttpServer(name, group) elif stype == 'odbc': server = OdbcServer(name, group) elif stype == 'xdbc': server = XdbcServer(name, group) elif stype == 'webdav': server = WebDAVServer(name, group) elif stype is None: print("Server type must be specified.") sys.ext(1) else: print("Unexpected server type: {0}".format(stype)) sys.exit(1) server = server.unmarshal(data, connection=connection, save_connection=save_connection) return server
def _read(self, name, group, stype, jsonfile): jf = open(jsonfile).read() data = json.loads(jf) data['server-name'] = name data['group-name'] = group data['server-type'] = stype if stype == 'http': server = HttpServer(name, group) elif stype == 'odbc': server = OdbcServer(name, group) elif stype == 'xdbc': server = XdbcServer(name, group) elif stype == 'webdav': server = WebDAVServer(name, group) else: print("Unexpected server type: {0}".format(stype)) sys.exit(1) server = server.unmarshal(data) return server
def list(self, args, config, connection): stype = args['type'] if stype == None: slist = Server.list(connection) elif stype == 'http': slist = HttpServer.list(connection) elif stype == 'odbc': slist = OdbcServer.list(connection) elif stype == 'xdbc': slist = XdbcServer.list(connection) elif stype == 'webdav': slist = WebDAVServer.list(connection) else: print("Unexpected server type: {0}".format(stype)) sys.exit(1) names = [] for key in slist: (group,name) = key.split('|') if group == args['group']: names.append(name) print(json.dumps(names,sort_keys=True, indent=2))
def list(self, args, config, connection): stype = args['type'] if stype == None: slist = Server.list(connection) elif stype == 'http': slist = HttpServer.list(connection) elif stype == 'odbc': slist = OdbcServer.list(connection) elif stype == 'xdbc': slist = XdbcServer.list(connection) elif stype == 'webdav': slist = WebDAVServer.list(connection) else: print("Unexpected server type: {0}".format(stype)) sys.exit(1) names = [] for key in slist: (group, name) = key.split('|') if group == args['group']: names.append(name) print(json.dumps(names, sort_keys=True, indent=2))
def xdbc_servers(self, connection=None): if connection is None: connection = self.connection return XdbcServer.list(connection)