Package org.apache.sling.installer.api.info

Examples of org.apache.sling.installer.api.info.InstallationState


    @Override
    public void service(final ServletRequest req, final ServletResponse res)
            throws IOException {
        final PrintWriter pw = res.getWriter();

        final InstallationState state = this.installer.getInstallationState();
        pw.print("<p class='statline ui-state-highlight'>Apache Sling OSGi Installer");
        if ( state.getActiveResources().size() == 0 && state.getInstalledResources().size() == 0 && state.getUntransformedResources().size() == 0 ) {
            pw.print(" - no resources registered.");
        }
        pw.print("</p>");

        String rt = null;
        for(final ResourceGroup group : state.getActiveResources()) {
            final Resource toActivate = group.getResources().get(0);
            if ( !toActivate.getType().equals(rt) ) {
                if ( rt != null ) {
                    pw.println("</tbody></table>");
                }
                pw.println("<div class='ui-widget-header ui-corner-top buttonGroup' style='height: 15px;'>");
                pw.printf("<span style='float: left; margin-left: 1em;'>Active Resources - %s</span>", getType(toActivate));
                pw.println("</div>");
                pw.println("<table class='nicetable'><tbody>");
                pw.printf("<tr><th>Entity ID</th><th>Digest/Priority</th><th>URL (Version)</th><th>State</th></tr>");
                rt = toActivate.getType();
            }
            pw.printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>",
                    getEntityId(toActivate, group.getAlias()),
                    getInfo(toActivate),
                    getURL(toActivate),
                    toActivate.getState());
        }
        if ( rt != null ) {
            pw.println("</tbody></table>");
        }
        rt = null;

        for(final ResourceGroup group : state.getInstalledResources()) {
            final Collection<Resource> resources = group.getResources();
            if (resources.size() > 0) {
                final Iterator<Resource> iter = resources.iterator();
                final Resource first = iter.next();
                if ( !first.getType().equals(rt) ) {
                    if ( rt != null ) {
                        pw.println("</tbody></table>");
                    }
                    pw.println("<div class='ui-widget-header ui-corner-top buttonGroup' style='height: 15px;'>");
                    pw.printf("<span style='float: left; margin-left: 1em;'>Processed Resources - %s</span>", getType(first));
                    pw.println("</div>");
                    pw.println("<table class='nicetable'><tbody>");
                    pw.printf("<tr><th>Entity ID</th><th>Digest/Priority</th><th>URL (Version)</th><th>State</th></tr>");
                    rt = first.getType();
                }
                pw.print("<tr><td>");
                pw.print(getEntityId(first, group.getAlias()));
                pw.print("</td><td>");
                pw.print(getInfo(first));
                pw.print("</td><td>");
                pw.print(getURL(first));
                pw.print("</td><td>");
                pw.print(getState(first));
                if ( first.getState() == ResourceState.INSTALLED ) {
                    final long lastChange = first.getLastChange();
                    if ( lastChange > 0 ) {
                        pw.print("<br/>");
                        pw.print(formatDate(lastChange));
                    }
                }
                pw.print("</td></tr>");
                if ( first.getAttribute(TaskResource.ATTR_INSTALL_EXCLUDED) != null ) {
                    pw.printf("<tr><td></td><td colspan='2'>%s</td><td></td></tr>",
                            first.getAttribute(TaskResource.ATTR_INSTALL_EXCLUDED));
                }
                if ( first.getAttribute(TaskResource.ATTR_INSTALL_INFO) != null ) {
                    pw.printf("<tr><td></td><td colspan='2'>%s</td><td></td></tr>",
                            first.getAttribute(TaskResource.ATTR_INSTALL_INFO));

                }
                while ( iter.hasNext() ) {
                    final Resource resource = iter.next();
                    pw.printf("<tr><td></td><td>%s</td><td>%s</td><td>%s</td></tr>",
                            getInfo(resource),
                            getURL(resource),
                            resource.getState());
                }
            }
        }
        if ( rt != null ) {
            pw.println("</tbody></table>");
        }

        rt = null;
        for(final RegisteredResource registeredResource : state.getUntransformedResources()) {
            if ( !registeredResource.getType().equals(rt) ) {
                if ( rt != null ) {
                    pw.println("</tbody></table>");
                }
                pw.println("<div class='ui-widget-header ui-corner-top buttonGroup' style='height: 15px;'>");
View Full Code Here


        if ( !"zip".equals(mode) && !"txt".equals(mode) ) {
            return;
        }
        pw.println("Apache Sling OSGi Installer");
        pw.println("===========================");
        final InstallationState state = this.installer.getInstallationState();
        pw.println("Active Resources");
        pw.println("----------------");
        String rt = null;
        for(final ResourceGroup group : state.getActiveResources()) {
            final Resource toActivate = group.getResources().get(0);
            if ( !toActivate.getType().equals(rt) ) {
                pw.printf("%s:%n", getType(toActivate));
                rt = toActivate.getType();
            }
            pw.printf("- %s: %s, %s, %s%n",
                    getEntityId(toActivate, group.getAlias()),
                    getInfo(toActivate),
                    getURL(toActivate),
                    toActivate.getState());
        }
        pw.println();

        pw.println("Processed Resources");
        pw.println("-------------------");
        rt = null;
        for(final ResourceGroup group : state.getInstalledResources()) {
            final Collection<Resource> resources = group.getResources();
            if (resources.size() > 0) {
                final Iterator<Resource> iter = resources.iterator();
                final Resource first = iter.next();
                if ( !first.getType().equals(rt) ) {
                    pw.printf("%s:%n", getType(first));
                    rt = first.getType();
                }
                pw.printf("* %s: %s, %s, %s%n",
                        getEntityId(first, group.getAlias()),
                        getInfo(first),
                        getURL(first),
                        getState(first));
                if ( first.getAttribute(TaskResource.ATTR_INSTALL_EXCLUDED) != null ) {
                    pw.printf("  : %s",
                            first.getAttribute(TaskResource.ATTR_INSTALL_EXCLUDED));
                }
                if ( first.getAttribute(TaskResource.ATTR_INSTALL_INFO) != null ) {
                    pw.printf("  : %s",
                            first.getAttribute(TaskResource.ATTR_INSTALL_INFO));

                }
                while ( iter.hasNext() ) {
                    final Resource resource = iter.next();
                    pw.printf("  - %s, %s, %s%n",
                            getInfo(resource),
                            getURL(resource),
                            resource.getState());
                }
            }
        }
        pw.println();

        pw.println("Untransformed Resources");
        pw.println("-----------------------");
        rt = null;
        for(final RegisteredResource registeredResource : state.getUntransformedResources()) {
            if ( !registeredResource.getType().equals(rt) ) {
                pw.printf("%s:%n", getType(registeredResource));
                rt = registeredResource.getType();
            }
            pw.printf("- %s, %s%n",
View Full Code Here

    /**
     * @see org.apache.sling.installer.api.info.InfoProvider#getInstallationState()
     */
    public InstallationState getInstallationState() {
        synchronized ( this.resourcesLock ) {
            final InstallationState state = new InstallationState() {

                private final List<ResourceGroup> activeResources = new ArrayList<ResourceGroup>();
                private final List<ResourceGroup> installedResources = new ArrayList<ResourceGroup>();
                private final List<RegisteredResource> untransformedResources = new ArrayList<RegisteredResource>();

                public List<ResourceGroup> getActiveResources() {
                    return activeResources;
                }

                public List<ResourceGroup> getInstalledResources() {
                    return installedResources;
                }

                public List<RegisteredResource> getUntransformedResources() {
                    return untransformedResources;
                }

                @Override
                public String toString() {
                    return "InstallationState[active resources: " + this.activeResources +
                            ", installed resources: " + this.installedResources +
                            ", untransformed resources: " + this.untransformedResources + "]";
                }
            };

            for(final String entityId : this.persistentList.getEntityIds()) {
                if ( !this.persistentList.isSpecialEntityId(entityId) ) {
                    final EntityResourceList group = this.persistentList.getEntityResourceList(entityId);

                    final String alias = group.getAlias();
                    final List<Resource> resources = new ArrayList<Resource>();
                    for(final TaskResource tr : group.getResources()) {
                        resources.add(new Resource() {

                            public String getScheme() {
                                return tr.getScheme();
                            }

                            public String getURL() {
                                return tr.getURL();
                            }

                            public String getType() {
                                return tr.getType();
                            }

                            public InputStream getInputStream() throws IOException {
                                return tr.getInputStream();
                            }

                            public Dictionary<String, Object> getDictionary() {
                                return tr.getDictionary();
                            }

                            public String getDigest() {
                                return tr.getDigest();
                            }

                            public int getPriority() {
                                return tr.getPriority();
                            }

                            public String getEntityId() {
                                return tr.getEntityId();
                            }

                            public ResourceState getState() {
                                return tr.getState();
                            }

                            public Version getVersion() {
                                return tr.getVersion();
                            }

                            public long getLastChange() {
                                return ((RegisteredResourceImpl)tr).getLastChange();
                            }

                            public Object getAttribute(final String key) {
                                return tr.getAttribute(key);
                            }

                            @Override
                            public String toString() {
                                return "resource[entityId=" + this.getEntityId() +
                                        ", scheme=" + this.getScheme() +
                                        ", url=" + this.getURL() +
                                        ", type=" + this.getType() +
                                        ", state=" + this.getState() +
                                        ", version=" + this.getVersion() +
                                        ", lastChange=" + this.getLastChange() +
                                        ", priority=" + this.getPriority() +
                                        ", digest=" + this.getDigest() +
                                        "]";
                            }
                        });
                    }
                    final ResourceGroup rg = new ResourceGroup() {

                        public List<Resource> getResources() {
                            return resources;
                        }

                        public String getAlias() {
                            return alias;
                        }

                        @Override
                        public String toString() {
                            return "group[" + resources + "]";
                        }
                    };
                    if ( group.getActiveResource() != null ) {
                        state.getActiveResources().add(rg);
                    } else {
                        state.getInstalledResources().add(rg);
                    }
                }
            }

            Collections.sort(state.getActiveResources(), COMPARATOR);
            Collections.sort(state.getInstalledResources(), COMPARATOR);

            state.getUntransformedResources().addAll(this.persistentList.getUntransformedResources());

            return state;
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.sling.installer.api.info.InstallationState

Copyright © 2018 www.massapicom. 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.