public void init()

in jbi/cluster/engine/src/main/java/org/apache/servicemix/jbi/cluster/engine/SimpleClusterRegistration.java [94:140]


    public void init() throws Exception {
        if (endpoint instanceof Endpoint) {
            nmrEndpoint = (Endpoint) endpoint;
        }
        if (endpoint != null && implement(endpoint.getClass(), SMX_COMMON_ENDPOINT_CLASS_NAME)) {
            serviceName = (QName) invoke(endpoint, "getService");
            endpointName = (String) invoke(endpoint,  "getEndpoint");
        }
        if (nmrEndpoint == null) {
            List<String> filters = new ArrayList<String>();
            if (filter != null) {
                filters.add(filter);
            }
            if (interfaceName != null) {
                filters.add(Endpoint.INTERFACE_NAME + "=" + interfaceName.toString());
            }
            if (serviceName != null) {
                filters.add(Endpoint.SERVICE_NAME + "=" + serviceName.toString());
            }
            if (endpointName != null) {
                filters.add(Endpoint.ENDPOINT_NAME + "=" + endpointName);
            }
            if (name != null) {
                filters.add(Endpoint.NAME + "=" + name);
            }
            if (filters.isEmpty()) {
                throw new IllegalArgumentException("one field to match on must be set");
            }
            String f;
            if (filters.size() == 1) {
                f = "(" + filters.get(0) + ")";
            } else {
                StringBuilder sb = new StringBuilder();
                sb.append("(&");
                for (String sf : filters) {
                    if (sf.startsWith("(")) {
                        sb.append(sf);
                    } else {
                        sb.append("(").append(sf).append(")");
                    }
                }
                sb.append(")");
                f = sb.toString();
            }
            osgiFilter = FrameworkUtil.createFilter(f);
        }
    }