/** * Creates corbaname URI basing on given parameters * @param host * @param port * @param name * * @return */ public static String createCorbanameURI(String host, int port, String name) { return new CorbanameURL(host, port, name).toString(); }
public CorbanameURL(String host, int port, String namePath, String nameService) { super(); this.host = host == null ? DEFAULT_HOST : host; this.port = port <= 0 ? DEFAULT_PORT : port; this.namePath = parseName(namePath); this.nameService = nameService == null ? DEFAULT_NAME_SERVICE : nameService; }
public Object lookup(String uri) throws CorbaHostException { Object result = null; try { CorbanameURL url = new CorbanameURL(uri); ORB orb = createORB(url.getHost(), url.getPort(), false); NamingContextExt context = getNamingContext(orb, url.getNameService()); result = context.resolve_str(url.getName()); } catch (Exception e) { handleException(e); } if (result == null) { throw new CorbaHostException(CorbaHostException.NO_SUCH_OBJECT); } return result; }
public void unregisterServant(String uri) throws CorbaHostException { targetHost.unregisterServant(uri); CorbanameURL details = new CorbanameURL(uri); if (SocketUtil.isLocalhost(details.getHost())) { releaseLocalNameServer(details.getPort()); } }
public void registerServant(String uri, Object servantObject) throws CorbaHostException { CorbanameURL details = CorbaHostUtils.getServiceDetails(uri); ORB orb = createORB(details.getHost(), details.getPort(), false); try { NamingContext namingCtx = getNamingContext(orb, details.getNameService()); for (int i = 0; i < details.getNamePath().size() - 1; i++) { NameComponent nc = new NameComponent(details.getNamePath().get(i), ""); NameComponent[] path = new NameComponent[] {nc}; try { namingCtx = NamingContextHelper.narrow(namingCtx.resolve(path)); } catch (Exception e) { namingCtx = namingCtx.bind_new_context(path); } } NameComponent finalName = new NameComponent(details.getNamePath().get(details.getNamePath().size() - 1), ""); try { namingCtx.resolve(new NameComponent[] {finalName}); // no exception means that some object is already registered // under this name, we need to crash here throw new CorbaHostException(CorbaHostException.BINDING_IN_USE); } catch (NotFound e) { namingCtx.bind(new NameComponent[] {finalName}, servantObject); } } catch (CorbaHostException e) { throw e; } catch (Exception e) { handleException(e); } }
/** * Translates corbaname URI to CorbanameDetails instances * * @param uri * @return */ public static CorbanameURL getServiceDetails(String uri) { CorbanameURL details = new CorbanameURL(uri); return details; }
public void unregisterServant(String uri) throws CorbaHostException { CorbanameURL details = CorbaHostUtils.getServiceDetails(uri); ORB orb = createORB(details.getHost(), details.getPort(), false); try { NamingContextExt namingCtx = getNamingContext(orb, details.getNameService()); namingCtx.unbind(namingCtx.to_name(details.getName())); } catch (Exception e) { handleException(e); } }
public void registerServant(String uri, Object servantObject) throws CorbaHostException { CorbanameURL details = new CorbanameURL(uri); if (SocketUtil.isLocalhost(details.getHost())) { createLocalNameServer(details.getPort()); } targetHost.registerServant(uri, servantObject); }
/** * Translates corbaname URI to CorbanameDetails instances * * @param uri * @return */ public static CorbanameURL getServiceDetails(String uri) { CorbanameURL details = new CorbanameURL(uri); return details; }
/** * Creates corbaname URI basing on given parameters * @param host * @param port * @param name * * @return */ public static String createCorbanameURI(String host, int port, String name) { return new CorbanameURL(host, port, name).toString(); }
public CorbanameURL(String host, int port, String namePath, String nameService) { super(); this.host = host == null ? DEFAULT_HOST : host; this.port = port <= 0 ? DEFAULT_PORT : port; this.namePath = parseName(namePath); this.nameService = nameService == null ? DEFAULT_NAME_SERVICE : nameService; }
String serviceLocation = parts[0]; String servicePath = parts[1]; namePath = parseName(servicePath);
String serviceLocation = parts[0]; String servicePath = parts[1]; namePath = parseName(servicePath);