summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/EndpointFactoryManager.java
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2014-10-20 11:40:05 -0230
committerMatthew Newhook <matthew@zeroc.com>2014-10-20 11:40:05 -0230
commitb51469b41167fb86ae2059a15cf0475c53fdda7b (patch)
treefc85d6ca2efd89c67e1e4e7438f437c3e08313f4 /java/src/IceInternal/EndpointFactoryManager.java
parentFixed (ICE-5695) - IceSSL: misleading exception (diff)
downloadice-b51469b41167fb86ae2059a15cf0475c53fdda7b.tar.bz2
ice-b51469b41167fb86ae2059a15cf0475c53fdda7b.tar.xz
ice-b51469b41167fb86ae2059a15cf0475c53fdda7b.zip
Down with ant. From the gradle to the grave.
Diffstat (limited to 'java/src/IceInternal/EndpointFactoryManager.java')
-rw-r--r--java/src/IceInternal/EndpointFactoryManager.java183
1 files changed, 0 insertions, 183 deletions
diff --git a/java/src/IceInternal/EndpointFactoryManager.java b/java/src/IceInternal/EndpointFactoryManager.java
deleted file mode 100644
index a0b2b1511d2..00000000000
--- a/java/src/IceInternal/EndpointFactoryManager.java
+++ /dev/null
@@ -1,183 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-package IceInternal;
-
-public final class EndpointFactoryManager
-{
- EndpointFactoryManager(Instance instance)
- {
- _instance = instance;
- }
-
- public synchronized void add(EndpointFactory factory)
- {
- for(int i = 0; i < _factories.size(); i++)
- {
- EndpointFactory f = _factories.get(i);
- if(f.type() == factory.type())
- {
- assert(false);
- }
- }
- _factories.add(factory);
- }
-
- public synchronized EndpointFactory get(short type)
- {
- for(int i = 0; i < _factories.size(); i++)
- {
- EndpointFactory f = _factories.get(i);
- if(f.type() == type)
- {
- return f;
- }
- }
- return null;
- }
-
- public synchronized EndpointI create(String str, boolean oaEndpoint)
- {
- String[] arr = IceUtilInternal.StringUtil.splitString(str, " \t\r\n");
- if(arr == null)
- {
- Ice.EndpointParseException e = new Ice.EndpointParseException();
- e.str = "mismatched quote";
- throw e;
- }
-
- if(arr.length == 0)
- {
- Ice.EndpointParseException e = new Ice.EndpointParseException();
- e.str = "value has no non-whitespace characters";
- throw e;
- }
-
- java.util.ArrayList<String> v = new java.util.ArrayList<String>(java.util.Arrays.asList(arr));
- String protocol = v.get(0);
- v.remove(0);
-
- if(protocol.equals("default"))
- {
- protocol = _instance.defaultsAndOverrides().defaultProtocol;
- }
-
- EndpointFactory factory = null;
-
- for(int i = 0; i < _factories.size(); i++)
- {
- EndpointFactory f = _factories.get(i);
- if(f.protocol().equals(protocol))
- {
- factory = f;
- }
- }
-
- if(factory != null)
- {
- EndpointI e = factory.create(v, oaEndpoint);
- if(!v.isEmpty())
- {
- Ice.EndpointParseException ex = new Ice.EndpointParseException();
- ex.str = "unrecognized argument `" + v.get(0) + "' in endpoint `" + str + "'";
- throw ex;
- }
- return e;
-
- // Code below left in place for debugging.
-
- /*
- EndpointI e = f.create(s.substring(m.end()), oaEndpoint);
- BasicStream bs = new BasicStream(_instance, true, false);
- e.streamWrite(bs);
- java.nio.ByteBuffer buf = bs.getBuffer();
- buf.position(0);
- short type = bs.readShort();
- EndpointI ue = new IceInternal.OpaqueEndpointI(type, bs);
- System.err.println("Normal: " + e);
- System.err.println("Opaque: " + ue);
- return e;
- */
- }
-
- //
- // If the stringified endpoint is opaque, create an unknown endpoint,
- // then see whether the type matches one of the known endpoints.
- //
- if(protocol.equals("opaque"))
- {
- EndpointI ue = new OpaqueEndpointI(v);
- if(!v.isEmpty())
- {
- Ice.EndpointParseException ex = new Ice.EndpointParseException();
- ex.str = "unrecognized argument `" + v.get(0) + "' in endpoint `" + str + "'";
- throw ex;
- }
- factory = get(ue.type());
- if(factory != null)
- {
- //
- // Make a temporary stream, write the opaque endpoint data into the stream,
- // and ask the factory to read the endpoint data from that stream to create
- // the actual endpoint.
- //
- BasicStream bs = new BasicStream(_instance, Protocol.currentProtocolEncoding, true, false);
- bs.writeShort(ue.type());
- ue.streamWrite(bs);
- Buffer buf = bs.getBuffer();
- buf.b.position(0);
- buf.b.limit(buf.size());
- bs.readShort(); // type
- bs.startReadEncaps();
- EndpointI e = factory.read(bs);
- bs.endReadEncaps();
- return e;
- }
- return ue; // Endpoint is opaque, but we don't have a factory for its type.
- }
-
- return null;
- }
-
- public synchronized EndpointI read(BasicStream s)
- {
- short type = s.readShort();
-
- EndpointFactory factory = get(type);
- EndpointI e = null;
-
- s.startReadEncaps();
-
- if(factory != null)
- {
- e = factory.read(s);
- }
- else
- {
- e = new OpaqueEndpointI(type, s);
- }
-
- s.endReadEncaps();
-
- return e;
- }
-
- void destroy()
- {
- for(int i = 0; i < _factories.size(); i++)
- {
- EndpointFactory f = _factories.get(i);
- f.destroy();
- }
- _factories.clear();
- }
-
- private Instance _instance;
- private java.util.List<EndpointFactory> _factories = new java.util.ArrayList<EndpointFactory>();
-}