Package org.gatein.management.api

Examples of org.gatein.management.api.ManagedResource$Registration


public class FilteredNavigationExportResource {
    protected void execute(OperationContext operationContext, ResultHandler resultHandler, PathTemplateFilter filter) {
        BindingProvider bindingProvider = operationContext.getBindingProvider();
        Marshaller<PageNavigation> marshaller = bindingProvider.getMarshaller(PageNavigation.class, ContentType.XML);

        final ManagedResource resource = operationContext.getManagedResource();
        final PathAddress address = operationContext.getAddress();
        final String operationName = operationContext.getOperationName();

        StepResultHandler<PageNavigation> stepResultHandler = new StepResultHandler<PageNavigation>(address) {
            @Override
View Full Code Here


public class FilteredNavigationExportResource {
    protected void execute(OperationContext operationContext, ResultHandler resultHandler, PathTemplateFilter filter) {
        BindingProvider bindingProvider = operationContext.getBindingProvider();
        Marshaller<PageNavigation> marshaller = bindingProvider.getMarshaller(PageNavigation.class, ContentType.XML);

        final ManagedResource resource = operationContext.getManagedResource();
        final PathAddress address = operationContext.getAddress();
        final String operationName = operationContext.getOperationName();

        StepResultHandler<PageNavigation> stepResultHandler = new StepResultHandler<PageNavigation>(address) {
            @Override
View Full Code Here

      if (debug)
      {
         log.debug("Executing request for operation " + operationName + " at address " + address);
      }
     
      ManagedResource root = getRootResource();
      if (root.getSubResource(address) == null)
      {
         throw new ResourceNotFoundException("Could not locate managed resource for address '" + address + "'");
      }

      OperationHandler operationHandler = root.getOperationHandler(address, operationName);
      if (operationHandler != null)
      {
         // Obtain binding provider given managed component.
         String componentName = (address.size() >= 1) ? address.get(0) : null;
         BindingProvider bindingProvider = managementService.getBindingProvider(componentName);

         // Execute operation for given registered operation handler
         BasicResultHandler resultHandler = new BasicResultHandler();
         operationHandler.execute(new OperationContextImpl(request, root, runtimeContext, bindingProvider), resultHandler);

         if (resultHandler.getFailureDescription() != null)
         {
            return new FailureResponse(resultHandler.getFailureDescription());
         }
         else
         {
            Object result = resultHandler.getResult();

            // Set descriptions based on the ManagedResource so 'dynamic' extensions don't have to.
            if (result instanceof ReadResourceModel)
            {
               ReadResourceModel readResource = (ReadResourceModel) result;
               if (!readResource.isChildDescriptionsSet())
               {
                  populateChildDescriptions(root, address, readResource);
               }

               if (readResource.getOperations().isEmpty())
               {
                  Map<String, ManagedDescription> descriptions = root.getOperationDescriptions(address);
                  for (Map.Entry<String, ManagedDescription> desc : descriptions.entrySet())
                  {
                     readResource.addOperation(new NamedDescription(desc.getKey(), desc.getValue().getDescription()));
                  }
               }
View Full Code Here

      }
   }
  
   private void populateChildDescriptions(ManagedResource root, PathAddress address, ReadResourceModel readResource)
   {
      ManagedResource currentResource = root.getSubResource(address);
      Set<String> subResourceNames = currentResource.getSubResourceNames(PathAddress.empty());
     
      // We have children but no sub resources which typically means that the same resource serves multiple paths like a navigation URI.
      if (!readResource.getChildren().isEmpty() && subResourceNames.isEmpty())
      {
         for (String childName : readResource.getChildren())
         {
            readResource.setChildDescription(childName, currentResource.getResourceDescription(PathAddress.empty()).getDescription());
         }
      }
      else
      {
         // Set children descriptions
         for (String subResourceName : subResourceNames)
         {
            ManagedResource subResource = currentResource.getSubResource(subResourceName);
            for (String childName : readResource.getChildren())
            {
               ManagedResource mr = root.getSubResource(address.append(childName));
               if (mr == subResource || mr == currentResource)
               {
                  readResource.setChildDescription(childName, mr.getResourceDescription(PathAddress.empty()).getDescription());
               }
            }
         }
      }
   }
View Full Code Here

   protected void execute(OperationContext operationContext, ResultHandler resultHandler, PathTemplateFilter filter)
   {
      BindingProvider bindingProvider = operationContext.getBindingProvider();
      Marshaller<PageNavigation> marshaller = bindingProvider.getMarshaller(PageNavigation.class, ContentType.XML);

      final ManagedResource resource = operationContext.getManagedResource();
      final PathAddress address = operationContext.getAddress();
      final String operationName = operationContext.getOperationName();

      StepResultHandler<PageNavigation> stepResultHandler = new StepResultHandler<PageNavigation>(address)
      {
View Full Code Here

      if (debug)
      {
         log.debug("Executing request for operation " + operationName + " at address " + address);
      }
     
      ManagedResource root = getRootResource();
      if (root.getSubResource(address) == null)
      {
         throw new ResourceNotFoundException("Could not locate managed resource for address '" + address + "'");
      }

      OperationHandler operationHandler = root.getOperationHandler(address, operationName);
      if (operationHandler != null)
      {
         // Obtain binding provider given managed component.
         String componentName = (address.size() >= 1) ? address.get(0) : null;
         BindingProvider bindingProvider = managementService.getBindingProvider(componentName);

         // ModelProvider to use for de-typed models
         ModelProvider modelProvider = DmrModelProvider.INSTANCE;

         // Execute operation for given registered operation handler
         BasicResultHandler resultHandler = new BasicResultHandler();
         operationHandler.execute(new OperationContextImpl(request, root, runtimeContext, externalContext, bindingProvider, modelProvider), resultHandler);

         if (resultHandler.getFailureDescription() != null)
         {
            return new FailureResponse(modelProvider.newModel().set(resultHandler.getFailureDescription()));
         }
         else if (resultHandler.getFailure() != null)
         {
            return new FailureResponse(resultHandler.getFailure());
         }
         else
         {
            Object result = resultHandler.getResult();

            // Set descriptions based on the ManagedResource so 'dynamic' extensions don't have to.
            if (result instanceof ReadResourceModel)
            {
               ReadResourceModel readResource = (ReadResourceModel) result;
               if (!readResource.isChildDescriptionsSet())
               {
                  populateChildDescriptions(root, address, readResource);
               }

               if (readResource.getOperations().isEmpty())
               {
                  Map<String, ManagedDescription> descriptions = root.getOperationDescriptions(address);
                  for (Map.Entry<String, ManagedDescription> desc : descriptions.entrySet())
                  {
                     readResource.addOperation(new NamedDescription(desc.getKey(), desc.getValue().getDescription()));
                  }
               }
View Full Code Here

      }
   }
  
   private void populateChildDescriptions(ManagedResource root, PathAddress address, ReadResourceModel readResource)
   {
      ManagedResource currentResource = root.getSubResource(address);
      Set<String> subResourceNames = currentResource.getSubResourceNames(PathAddress.empty());
     
      // We have children but no sub resources which typically means that the same resource serves multiple paths like a navigation URI.
      if (!readResource.getChildren().isEmpty() && subResourceNames.isEmpty())
      {
         for (String childName : readResource.getChildren())
         {
            readResource.setChildDescription(childName, currentResource.getResourceDescription(PathAddress.empty()).getDescription());
         }
      }
      else
      {
         // Set children descriptions
         for (String subResourceName : subResourceNames)
         {
            ManagedResource subResource = currentResource.getSubResource(subResourceName);
            for (String childName : readResource.getChildren())
            {
               ManagedResource mr = root.getSubResource(address.append(childName));
               if (mr == subResource || mr == currentResource)
               {
                  readResource.setChildDescription(childName, mr.getResourceDescription(PathAddress.empty()).getDescription());
               }
            }
         }
      }
   }
View Full Code Here

   public static final class ReadResource extends QueryOperationHandler<ReadResourceModel> implements ManagedDescription
   {
      @Override
      public ReadResourceModel execute(OperationContext operationContext)
      {
         ManagedResource resource = operationContext.getManagedResource();
         PathAddress address = operationContext.getAddress();

         Set<String> children = resource.getSubResourceNames(address);
         ReadResourceModel readResourceModel = new ReadResourceModel("Available operations and children (sub-resources).", children);

         // Set children descriptions
         for (String child : children)
         {
            ManagedDescription desc = resource.getResourceDescription(address.append(child));
            readResourceModel.setChildDescription(child, desc.getDescription());
         }

         // Set operation descriptions
         Map<String, ManagedDescription> descriptions = resource.getOperationDescriptions(address);
         for (Map.Entry<String, ManagedDescription> desc : descriptions.entrySet())
         {
            readResourceModel.addOperation(new NamedDescription(desc.getKey(), desc.getValue().getDescription()));
         }
View Full Code Here

public class ExportResource extends QueryOperationHandler<ExportResourceModel>
{
   @Override
   protected ExportResourceModel execute(OperationContext operationContext) throws ResourceNotFoundException, OperationException
   {
      ManagedResource resource = operationContext.getManagedResource();
      final PathAddress address = operationContext.getAddress();
      final String operationName = operationContext.getOperationName();

      StepResultHandler<ExportResourceModel> exportResultHandler = new StepResultHandler<ExportResourceModel>(address)
      {
View Full Code Here

            handler.execute(operationContext, stepResultHandler);
         }
      }
      else
      {
         ManagedResource found = resource.getSubResource(address);
         if (found == null)
         {
            throw new OperationException(operationName, "Could not locate resource at address " + address);
         }
        
View Full Code Here

TOP

Related Classes of org.gatein.management.api.ManagedResource$Registration

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.