You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2008/01/25 21:00:54 UTC

svn commit: r615320 - in /incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium: ComponentConfigurationPrinter.java ComponentRenderAction.java

Author: fmeschbe
Date: Fri Jan 25 12:00:53 2008
New Revision: 615320

URL: http://svn.apache.org/viewvc?rev=615320&view=rev
Log:
Print bound services for references of components

Modified:
    incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium/ComponentConfigurationPrinter.java
    incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium/ComponentRenderAction.java

Modified: incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium/ComponentConfigurationPrinter.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium/ComponentConfigurationPrinter.java?rev=615320&r1=615319&r2=615320&view=diff
==============================================================================
--- incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium/ComponentConfigurationPrinter.java (original)
+++ incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium/ComponentConfigurationPrinter.java Fri Jan 25 12:00:53 2008
@@ -31,7 +31,10 @@
 import org.apache.felix.scr.ScrService;
 import org.apache.sling.osgi.console.web.ConfigurationPrinter;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.component.ComponentConstants;
 
 public class ComponentConfigurationPrinter extends AbstractScrPlugin implements
         ConfigurationPrinter {
@@ -141,6 +144,30 @@
                 pw.println("    Policy: "
                     + (refs[i].isStatic() ? "static" : "dynamic"));
 
+                // list bound services
+                ServiceReference[] boundRefs = refs[i].getServiceReferences();
+                if (boundRefs != null && boundRefs.length > 0) {
+                    for (int j = 0; j < boundRefs.length; j++) {
+                        pw.print("    Bound Service: ID ");
+                        pw.print(boundRefs[j].getProperty(Constants.SERVICE_ID));
+
+                        String name = (String) boundRefs[j].getProperty(ComponentConstants.COMPONENT_NAME);
+                        if (name == null) {
+                            name = (String) boundRefs[j].getProperty(Constants.SERVICE_PID);
+                            if (name == null) {
+                                name = (String) boundRefs[j].getProperty(Constants.SERVICE_DESCRIPTION);
+                            }
+                        }
+                        if (name != null) {
+                            pw.print(" (");
+                            pw.print(name);
+                            pw.print(")");
+                        }
+                    }
+                } else {
+                    pw.print("    No Services bound");
+                }
+                pw.println();
             }
         }
     }

Modified: incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium/ComponentRenderAction.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium/ComponentRenderAction.java?rev=615320&r1=615319&r2=615320&view=diff
==============================================================================
--- incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium/ComponentRenderAction.java (original)
+++ incubator/sling/trunk/osgi/console-web/src/main/java/org/apache/sling/osgi/console/web/internal/compendium/ComponentRenderAction.java Fri Jan 25 12:00:53 2008
@@ -37,6 +37,9 @@
 import org.apache.sling.osgi.console.web.Action;
 import org.apache.sling.osgi.console.web.Render;
 import org.apache.sling.osgi.console.web.internal.Util;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.ComponentConstants;
 
 public class ComponentRenderAction extends AbstractScrPlugin implements Render,
         Action {
@@ -317,6 +320,31 @@
                     "<br />");
                 buf.append("Policy: ").append(
                     refs[i].isStatic() ? "static" : "dynamic").append("<br />");
+
+                // list bound services
+                ServiceReference[] boundRefs = refs[i].getServiceReferences();
+                if (boundRefs != null && boundRefs.length > 0) {
+                    for (int j = 0; j < boundRefs.length; j++) {
+                        buf.append("Bound Service ID ");
+                        buf.append(boundRefs[j].getProperty(Constants.SERVICE_ID));
+
+                        String name = (String) boundRefs[j].getProperty(ComponentConstants.COMPONENT_NAME);
+                        if (name == null) {
+                            name = (String) boundRefs[j].getProperty(Constants.SERVICE_PID);
+                            if (name == null) {
+                                name = (String) boundRefs[j].getProperty(Constants.SERVICE_DESCRIPTION);
+                            }
+                        }
+                        if (name != null) {
+                            buf.append(" (");
+                            buf.append(name);
+                            buf.append(")");
+                        }
+                    }
+                } else {
+                    buf.append("No Services bound");
+                }
+                buf.append("<br />");
 
                 keyVal(props, "Reference " + refs[i].getName(), buf.toString());
             }