boolean removeInternal()

in src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java [430:454]


    boolean removeInternal(final String url) {
        boolean removed = false;
        synchronized ( lock ) {
            Collections.sort(this.resources);
            final Iterator<RegisteredResourceImpl> i = resources.iterator();
            boolean first = true;
            while ( i.hasNext() ) {
                final TaskResource r = i.next();
                if ( r.getURL().equals(url) ) {
                    removed = true;
                    if ( first && (r.getState() == ResourceState.INSTALLED
                            || r.getState() == ResourceState.INSTALL)) {
                        LOGGER.debug("Marking for uninstalling: {}", r);
                        ((RegisteredResourceImpl)r).setState(ResourceState.UNINSTALL, null);
                    } else {
                        LOGGER.debug("Removing unused: {}", r);
                        i.remove();
                        this.cleanup(r);
                    }
                }
                first = false;
            }
        }
        return removed;
    }