private Dictionary getRegistrationProperties()

in src/main/java/org/apache/sling/discovery/impl/support/StandardPropertyProvider.java [68:98]


    private Dictionary<String, Object> getRegistrationProperties() {
        final List<String> names = new ArrayList<>();
        names.add(InstanceDescription.PROPERTY_NAME);
        names.add(InstanceDescription.PROPERTY_DESCRIPTION);
        names.add(InstanceDescription.PROPERTY_ENDPOINTS);

        final StringBuilder sb = new StringBuilder();
        boolean first = true;
        synchronized ( this.endpoints ) {
            for(final String[] points : endpoints.values()) {
                for(final String point : points) {
                    if ( first ) {
                        first = false;
                    } else {
                        sb.append(",");
                    }
                    sb.append(point);
                }
            }
        }
        this.endpointString = sb.toString();

        final Dictionary<String, Object> serviceProps = new Hashtable<>();
        serviceProps.put(PropertyProvider.PROPERTY_PROPERTIES, names.toArray(new String[names.size()]));
        // we add a changing property to the service registration
        // to make sure a modification event is really sent
        synchronized ( this ) {
            serviceProps.put("changeCount", this.changeCount++);
        }
        return serviceProps;
    }