Examples of ResourceResolver


Examples of org.apache.sling.api.resource.ResourceResolver

                    return -1;
                }
            }
        }

        ResourceResolver resourceResolver = null;
        try {
            resourceResolver = resourceResolverFactory
                    .getAdministrativeResourceResolver(null);

            final Resource announcementsResource = ResourceHelper
                    .getOrCreateResource(
                            resourceResolver,
                            config.getClusterInstancesPath()
                                    + "/"
                                    + settingsService.getSlingId()
                                    + "/announcements");

            topologyAnnouncement.persistTo(announcementsResource);
            resourceResolver.commit();
            ownAnnouncementsCache.put(topologyAnnouncement.getOwnerId(),
                    new CachedAnnouncement(topologyAnnouncement, config));
        } catch (LoginException e) {
            logger.error(
                    "registerAnnouncement: could not log in administratively: "
                            + e, e);
            throw new RuntimeException("Could not log in to repository (" + e
                    + ")", e);
        } catch (PersistenceException e) {
            logger.error("registerAnnouncement: got a PersistenceException: "
                    + e, e);
            throw new RuntimeException(
                    "Exception while talking to repository (" + e + ")", e);
        } catch (JSONException e) {
            logger.error("registerAnnouncement: got a JSONException: " + e, e);
            throw new RuntimeException("Exception while converting json (" + e
                    + ")", e);
        } finally {
            if (resourceResolver != null) {
                resourceResolver.close();
            }
        }
        return 0;
    }
View Full Code Here

Examples of org.apache.sling.api.resource.ResourceResolver

        return 0;
    }

    public synchronized void addAllExcept(final Announcement target, final ClusterView clusterView,
            final AnnouncementFilter filter) {
        ResourceResolver resourceResolver = null;
        try {
            resourceResolver = resourceResolverFactory
                    .getAdministrativeResourceResolver(null);

            final Resource clusterInstancesResource = ResourceHelper
                    .getOrCreateResource(
                            resourceResolver,
                            config.getClusterInstancesPath());

            final Iterator<Resource> it0 = clusterInstancesResource.getChildren()
                    .iterator();
            Resource announcementsResource;
            while (it0.hasNext()) {
                final Resource aClusterInstanceResource = it0.next();
                final String instanceId = aClusterInstanceResource.getName();
                //TODO: add ClusterView.contains(instanceSlingId) for convenience to next api change
                if (!contains(clusterView, instanceId)) {
                    // then the instance is not in my view, hence dont propagate
                    // its announcements
                    // (corresponds to earlier expiry-handling)
                    continue;
                }
                announcementsResource = aClusterInstanceResource
                        .getChild("announcements");
                if (announcementsResource == null) {
                    continue;
                }
                Iterator<Resource> it = announcementsResource.getChildren()
                        .iterator();
                while (it.hasNext()) {
                    Resource anAnnouncement = it.next();
                  if (logger.isDebugEnabled()) {
                      logger.debug("addAllExcept: anAnnouncement="
                              + anAnnouncement);
                  }
                    Announcement topologyAnnouncement;
                    topologyAnnouncement = Announcement.fromJSON(anAnnouncement
                            .adaptTo(ValueMap.class).get(
                                    "topologyAnnouncement", String.class));
                    if (filter != null && !filter.accept(aClusterInstanceResource.getName(), topologyAnnouncement)) {
                        continue;
                    }
                    target.addIncomingTopologyAnnouncement(topologyAnnouncement);
                }
            }
            // even before SLING-3389 this method only did read operations,
            // hence no commit was ever necessary. The close happens in the finally block
        } catch (LoginException e) {
            logger.error(
                    "handleEvent: could not log in administratively: " + e, e);
            throw new RuntimeException("Could not log in to repository (" + e
                    + ")", e);
        } catch (PersistenceException e) {
            logger.error("handleEvent: got a PersistenceException: " + e, e);
            throw new RuntimeException(
                    "Exception while talking to repository (" + e + ")", e);
        } catch (JSONException e) {
            logger.error("handleEvent: got a JSONException: " + e, e);
            throw new RuntimeException("Exception while converting json (" + e
                    + ")", e);
        } finally {
            if (resourceResolver != null) {
                resourceResolver.close();
            }
        }
    }
View Full Code Here

Examples of org.apache.sling.api.resource.ResourceResolver

            }
        }
    }

    private final void deleteAnnouncementsOf(final String instanceId) {
        ResourceResolver resourceResolver = null;
        try {
            resourceResolver = resourceResolverFactory
                    .getAdministrativeResourceResolver(null);
            ResourceHelper.deleteResource(resourceResolver,
                    config.getClusterInstancesPath()
                                + "/"
                                + settingsService.getSlingId()
                                + "/announcements/"
                                + instanceId);
            resourceResolver.commit();
            resourceResolver.close();
            resourceResolver = null;
        } catch (LoginException e) {
            logger.error(
                    "deleteAnnouncementsOf: could not log in administratively when deleting "
                    + "announcements of instanceId="+instanceId+": " + e, e);
        } catch (PersistenceException e) {
            logger.error(
                    "deleteAnnouncementsOf: got PersistenceException when deleting "
                    + "announcements of instanceId="+instanceId+": " + e, e);
        } finally {
            if (resourceResolver!=null) {
                resourceResolver.revert();
                resourceResolver.close();
                resourceResolver = null;
            }
        }
    }
View Full Code Here

Examples of org.apache.sling.api.resource.ResourceResolver

        return ResourceResolverType.JCR_JACKRABBIT;
    }

    @Override
    protected ResourceResolver newResourceResolver() {
        ResourceResolver resolver = MockSling.newResourceResolver(getResourceResolverType());

        // register sling node types
        try {
            RepositoryUtil.registerSlingNodeTypes(resolver.adaptTo(Session.class));
        } catch (IOException ex) {
            throw new RuntimeException("Unable to register sling node types.", ex);
        } catch (RepositoryException ex) {
            throw new RuntimeException("Unable to register sling node types.", ex);
        }
View Full Code Here

Examples of org.apache.sling.api.resource.ResourceResolver

        return ResourceResolverType.JCR_JACKRABBIT;
    }

    @Override
    protected ResourceResolver newResourceResolver() {
        ResourceResolver resolver = MockSling.newResourceResolver(getResourceResolverType());

        // register sling node types
        try {
            RepositoryUtil.registerSlingNodeTypes(resolver.adaptTo(Session.class));
        } catch (IOException ex) {
            throw new RuntimeException("Unable to register sling node types.", ex);
        } catch (RepositoryException ex) {
            throw new RuntimeException("Unable to register sling node types.", ex);
        }
View Full Code Here

Examples of org.apache.sling.api.resource.ResourceResolver

        return ResourceResolverType.JCR_JACKRABBIT;
    }

    @Override
    protected ResourceResolver newResourceResolver() {
        ResourceResolver resolver = MockSling.newResourceResolver(getResourceResolverType());

        // register sling node types
        try {
            RepositoryUtil.registerSlingNodeTypes(resolver.adaptTo(Session.class));
        } catch (IOException ex) {
            throw new RuntimeException("Unable to register sling node types.", ex);
        } catch (RepositoryException ex) {
            throw new RuntimeException("Unable to register sling node types.", ex);
        }
View Full Code Here

Examples of org.apache.sling.api.resource.ResourceResolver

    private int deleteCount;

    private void delete(final Resource rsrc )
    throws PersistenceException {
        final ResourceResolver resolver = rsrc.getResourceResolver();
        for(final Resource child : rsrc.getChildren()) {
            delete(child);
        }
        resolver.delete(rsrc);
        deleteCount++;
        if ( deleteCount >= 20 ) {
            resolver.commit();
            deleteCount = 0;
        }
    }
View Full Code Here

Examples of org.apache.sling.api.resource.ResourceResolver

    }

    public void cleanup() {
        final ServiceReference ref = this.bc.getServiceReference(ResourceResolverFactory.class.getName());
        final ResourceResolverFactory factory = (ResourceResolverFactory) this.bc.getService(ref);
        ResourceResolver resolver = null;
        try {
            resolver = factory.getAdministrativeResourceResolver(null);
            final Resource rsrc = resolver.getResource(JobManagerConfiguration.DEFAULT_REPOSITORY_PATH);
            if ( rsrc != null ) {
                delete(rsrc);
                resolver.commit();
            }
        } catch ( final LoginException le ) {
            // ignore
        } catch (final PersistenceException e) {
            // ignore
        } finally {
            if ( resolver != null ) {
                resolver.close();
            }
        }
        this.sleep(1000);
    }
View Full Code Here

Examples of org.apache.sling.api.resource.ResourceResolver

    private ResourceResolver resourceResolver;

    protected abstract ResourceResolverType getResourceResolverType();

    protected ResourceResolver newResourceResolver() {
        ResourceResolver resolver = MockSling.newResourceResolver(getResourceResolverType());

        if (getResourceResolverType() == ResourceResolverType.JCR_MOCK) {
            try {
                // dummy namespace registrations to make sure sling JCR resolver
                // does not get mixed up with the prefixes
                NamespaceRegistry namespaceRegistry = resolver.adaptTo(Session.class).getWorkspace()
                        .getNamespaceRegistry();
                namespaceRegistry.registerNamespace("sling", "http://mock/sling");
                namespaceRegistry.registerNamespace("app", "http://mock/app");
                namespaceRegistry.registerNamespace("dam", "http://mock/dam");
            } catch (RepositoryException ex) {
View Full Code Here

Examples of org.apache.sling.api.resource.ResourceResolver

        this.max = batchSize;
    }

    public void delete(final Resource rsrc )
    throws PersistenceException {
        final ResourceResolver resolver = rsrc.getResourceResolver();
        for(final Resource child : rsrc.getChildren()) {
            delete(child);
        }
        resolver.delete(rsrc);
        count++;
        if ( count >= max ) {
            resolver.commit();
            count = 0;
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.