Repository: zest-qi4j
Updated Branches:
  refs/heads/develop 55f632eb4 -> d641afdb9


Formatting.


Project: http://git-wip-us.apache.org/repos/asf/zest-qi4j/repo
Commit: http://git-wip-us.apache.org/repos/asf/zest-qi4j/commit/d641afdb
Tree: http://git-wip-us.apache.org/repos/asf/zest-qi4j/tree/d641afdb
Diff: http://git-wip-us.apache.org/repos/asf/zest-qi4j/diff/d641afdb

Branch: refs/heads/develop
Commit: d641afdb98c9412083db06479c5072f38b00080a
Parents: 55f632e
Author: Niclas Hedhman <[email protected]>
Authored: Sun Jul 12 10:16:59 2015 +0300
Committer: Niclas Hedhman <[email protected]>
Committed: Sun Jul 12 10:16:59 2015 +0300

----------------------------------------------------------------------
 .../library/jmx/ApplicationManagerService.java  | 75 ++++++++++++--------
 1 file changed, 44 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/d641afdb/libraries/jmx/src/main/java/org/qi4j/library/jmx/ApplicationManagerService.java
----------------------------------------------------------------------
diff --git 
a/libraries/jmx/src/main/java/org/qi4j/library/jmx/ApplicationManagerService.java
 
b/libraries/jmx/src/main/java/org/qi4j/library/jmx/ApplicationManagerService.java
index 1eda279..1c31255 100644
--- 
a/libraries/jmx/src/main/java/org/qi4j/library/jmx/ApplicationManagerService.java
+++ 
b/libraries/jmx/src/main/java/org/qi4j/library/jmx/ApplicationManagerService.java
@@ -33,15 +33,15 @@ import org.qi4j.api.service.ImportedServiceDescriptor;
 import org.qi4j.api.service.ServiceComposite;
 import org.qi4j.api.service.ServiceDescriptor;
 import org.qi4j.api.service.ServiceReference;
-import org.qi4j.api.service.qualifier.ServiceQualifier;
 import org.qi4j.api.structure.Application;
 import org.qi4j.api.structure.Layer;
 import org.qi4j.api.structure.LayerDescriptor;
 import org.qi4j.api.structure.Module;
 import org.qi4j.api.structure.ModuleDescriptor;
 import org.qi4j.functional.HierarchicalVisitorAdapter;
-import org.qi4j.functional.Iterables;
 
+import static org.qi4j.api.service.qualifier.ServiceQualifier.withId;
+import static org.qi4j.functional.Iterables.filter;
 import static org.qi4j.functional.Iterables.first;
 
 /**
@@ -69,32 +69,31 @@ public interface ApplicationManagerService
 {
 
     void exportApplicationStructure()
-            throws Exception;
+        throws Exception;
 
     void unexportApplicationStructure()
-            throws Exception;
+        throws Exception;
 
-    static class Activator
-            extends 
ActivatorAdapter<ServiceReference<ApplicationManagerService>>
+    class Activator
+        extends ActivatorAdapter<ServiceReference<ApplicationManagerService>>
     {
 
         @Override
         public void afterActivation( 
ServiceReference<ApplicationManagerService> activated )
-                throws Exception
+            throws Exception
         {
             activated.get().exportApplicationStructure();
         }
 
         @Override
         public void beforePassivation( 
ServiceReference<ApplicationManagerService> passivating )
-                throws Exception
+            throws Exception
         {
             passivating.get().unexportApplicationStructure();
         }
-
     }
 
-    static abstract class Mixin
+    abstract class Mixin
         implements ApplicationManagerService
     {
         @Service
@@ -103,7 +102,7 @@ public interface ApplicationManagerService
         @Structure
         public Application application;
 
-        private List<ObjectName> mbeans = new ArrayList<ObjectName>();
+        private List<ObjectName> mbeans = new ArrayList<>();
 
         @Override
         public void exportApplicationStructure()
@@ -113,7 +112,7 @@ public interface ApplicationManagerService
             {
                 Layer layer;
                 Module module;
-                Stack<ObjectName> names = new Stack<ObjectName>();
+                Stack<ObjectName> names = new Stack<>();
 
                 @Override
                 public boolean visitEnter( Object visited )
@@ -132,10 +131,8 @@ public interface ApplicationManagerService
                         RequiredModelMBean mbean = new ModelMBeanBuilder( 
objectName, layerDescriptor.name(), LayerBean.class
                             .getName() ).
                             attribute( "uses", "Layer usages", 
String.class.getName(), "Other layers that this layer uses", "getUses", null )
-                            .
-                                operation( "restart", "Restart layer", 
String.class.getName(), MBeanOperationInfo.ACTION_INFO )
-                            .
-                                newModelMBean();
+                            .operation( "restart", "Restart layer", 
String.class.getName(), MBeanOperationInfo.ACTION_INFO )
+                            .newModelMBean();
 
                         mbean.setManagedResource( layerBean, "ObjectReference" 
);
                         server.registerMBean( mbean, objectName );
@@ -164,7 +161,7 @@ public interface ApplicationManagerService
                         ServiceDescriptor serviceDescriptor = 
(ServiceDescriptor) visited;
                         ObjectName objectName = new ObjectName( names.peek()
                                                                     
.toString() + ",class=Service,service=" + serviceDescriptor
-                            .identity() );
+                                                                    
.identity() );
                         RequiredModelMBean mbean = new ModelMBeanBuilder( 
objectName, serviceDescriptor.identity(), ServiceBean.class
                             .getName() ).
                             attribute( "Id", "Service id", 
String.class.getName(), "Id of service", "getId", null ).
@@ -190,7 +187,7 @@ public interface ApplicationManagerService
                         ImportedServiceDescriptor importedServiceDescriptor = 
(ImportedServiceDescriptor) visited;
                         ObjectName objectName = new ObjectName( names.peek()
                                                                     
.toString() + ",class=Imported service,importedservice=" + 
importedServiceDescriptor
-                            .identity() );
+                                                                    
.identity() );
                         RequiredModelMBean mbean = new ModelMBeanBuilder( 
objectName, importedServiceDescriptor.identity(), ImportedServiceBean.class
                             .getName() ).
                             attribute( "Id", "Service id", 
String.class.getName(), "Id of service", "getId", null ).
@@ -234,7 +231,7 @@ public interface ApplicationManagerService
         }
     }
 
-    public static class LayerBean
+    class LayerBean
     {
         private final Layer layer;
         private final LayerDescriptor layerDescriptor;
@@ -273,7 +270,7 @@ public interface ApplicationManagerService
         }
     }
 
-    public static class ServiceBean
+    class ServiceBean
     {
         private final ServiceDescriptor serviceDescriptor;
         private final Module module;
@@ -296,27 +293,38 @@ public interface ApplicationManagerService
 
         public String getType()
         {
-            return first( serviceDescriptor.types() ).getName();
+            Class<?> first = first( serviceDescriptor.types() );
+            if( first == null )
+            {
+                return null;
+            }
+            return first.getName();
         }
 
         public boolean isActive()
         {
-            return Iterables.first( Iterables.filter( ServiceQualifier.withId( 
serviceDescriptor.identity() ), module.findServices( first( serviceDescriptor
-                                                                               
                                                                .types() ) ) ) )
-                .isActive();
+            Class<?> mainType = first( serviceDescriptor.types() );
+            ServiceReference<?> first = first( filter( withId( 
serviceDescriptor.identity() ),
+                                                       module.findServices( 
mainType ) )
+            );
+            return first != null && first.isActive();
         }
 
         public boolean isAvailable()
         {
-            return Iterables.first( Iterables.filter( ServiceQualifier.withId( 
serviceDescriptor.identity() ), module.findServices( first( serviceDescriptor
-                                                                               
                                                                .types() ) ) ) )
-                .isAvailable();
+            Class<?> mainType = first( serviceDescriptor.types() );
+            ServiceReference<?> first = first( filter( withId( 
serviceDescriptor.identity() ),
+                                                       module.findServices( 
mainType ) )
+            );
+            return first != null && first.isAvailable();
         }
 
         public String restart()
         {
-            Iterable services = module.findServices( first( 
serviceDescriptor.types() ) );
-            ServiceReference serviceRef = ( ServiceReference ) 
Iterables.first( Iterables.filter( ServiceQualifier.withId( 
serviceDescriptor.identity() ), services ) );
+            Iterable<?> services = module.findServices( first( 
serviceDescriptor.types() ) );
+            ServiceReference<?> serviceRef = (ServiceReference) first( filter( 
withId( serviceDescriptor.identity() ),
+                                                                               
services )
+            );
             if( serviceRef != null )
             {
                 try
@@ -337,7 +345,7 @@ public interface ApplicationManagerService
         }
     }
 
-    public static class ImportedServiceBean
+    class ImportedServiceBean
     {
         private final ImportedServiceDescriptor serviceDescriptor;
 
@@ -358,7 +366,12 @@ public interface ApplicationManagerService
 
         public String getType()
         {
-            return first( serviceDescriptor.types() ).getName();
+            Class<?> mainType = first( serviceDescriptor.types() );
+            if( mainType == null )
+            {
+                return null;
+            }
+            return mainType.getName();
         }
     }
 }

Reply via email to