public MBeanInfo GetMBeanInfo(ObjectName name)
        {
            var responseMessage = _soapClient.BuildMessage()
                                  .WithAction(Schema.GetMBeanInfoAction)
                                  .WithSelectors(name.CreateSelectorSet())
                                  .WithResourceUri(Schema.DynamicMBeanResourceUri)
                                  .SendAndGetResponse();

            var payload = responseMessage.GetPayload <ResourceMetaDataTypeMessage>();

            return(payload.DynamicMBeanResourceMetaData.Deserialize());
        }
        public IEnumerable <ObjectName> QueryNames(ObjectName name, IExpression <bool> query)
        {
            var queryExpression = query != null
                ? ExpressionGenerator.Generate(query)
                : null;

            var filter = new Filter(Schema.QueryNamesDialect, queryExpression);

            return(_enumClient.EnumerateEPR(Schema.DynamicMBeanResourceUri, filter, _enumerationMaxElements,
                                            name.CreateSelectorSet())
                   .Select(x => x.ExtractObjectName()));
        }
        public bool IsInstanceOf(ObjectName name, string className)
        {
            var responseMessage = _soapClient.BuildMessage()
                                  .WithAction(Schema.InstanceOfAction)
                                  .WithSelectors(name.CreateSelectorSet())
                                  .WithResourceUri(Schema.DynamicMBeanResourceUri)
                                  .AddBody(new IsInstanceOfMessage(className))
                                  .SendAndGetResponse();

            var payload = responseMessage.GetPayload <IsInstanceOfResponseMessage>();

            return(payload.Value);
        }
        public IList <AttributeValue> SetAttributes(ObjectName name, IEnumerable <AttributeValue> namesAndValues)
        {
            var request = new DynamicMBeanResource
            {
                Property =
                    namesAndValues.Select(x => new NamedGenericValueType(x.Name, x.Value)).ToArray()
            };
            var names = namesAndValues.Select(x => x.Name);

            return(_manClient.Put <XmlFragment <DynamicMBeanResource> >(
                       Schema.DynamicMBeanResourceUri,
                       new GetAttributesFragment(names).GetExpression(),
                       new XmlFragment <DynamicMBeanResource>(request), name.CreateSelectorSet())
                   .Value.Property.Select(x => new AttributeValue(x.name, x.Deserialize())).ToList());
        }
        public object Invoke(ObjectName name, string operationName, object[] arguments)
        {
            var request = new OperationRequestType
            {
                Input     = arguments.Select(x => new ParameterType(null, x)).ToArray(),
                name      = operationName,
                Signature = null
            };

            var responseMessage = _soapClient.BuildMessage()
                                  .WithAction(Schema.InvokeAction)
                                  .WithSelectors(name.CreateSelectorSet())
                                  .WithResourceUri(Schema.DynamicMBeanResourceUri)
                                  .AddBody(new InvokeMessage(request))
                                  .SendAndGetResponse();

            var payload = responseMessage.GetPayload <InvokeResponseMessage>();

            return(payload.ManagedResourceOperationResult.Deserialize());
        }
 public bool IsRegistered(ObjectName name)
 {
     return(_enumClient.EnumerateEPR(Schema.DynamicMBeanResourceUri, null, 1,
                                     name.CreateSelectorSet()).Count() > 0);
 }
 public object GetAttribute(ObjectName name, string attributeName)
 {
     try
     {
         return(_manClient.Get <XmlFragment <DynamicMBeanResource> >(Schema.DynamicMBeanResourceUri,
                                                                     new GetAttributesFragment(attributeName).GetExpression(), name.CreateSelectorSet())
                .Value.Property.First(x => x.name == attributeName).Deserialize());
     }
     catch (FaultException ex)
     {
         if (new EndpointUnavailableFaultException().Equals(ex))
         {
             throw new InstanceNotFoundException(name);
         }
         throw;
     }
 }
        public void SetAttribute(ObjectName name, string attributeName, object value)
        {
            var request = new DynamicMBeanResource
            {
                Property = new[]
                {
                    new NamedGenericValueType(attributeName, value),
                }
            };

            _manClient.Put <XmlFragment <DynamicMBeanResource> >(Schema.DynamicMBeanResourceUri, new GetAttributesFragment(attributeName).GetExpression(), new XmlFragment <DynamicMBeanResource>(request), name.CreateSelectorSet());
        }
        public object Invoke(ObjectName name, string operationName, object[] arguments)
        {
            var request = new OperationRequestType
                              {
                                  Input = arguments.Select(x => new ParameterType(null, x)).ToArray(),
                                  name = operationName,
                                  Signature = null
                              };

            var responseMessage = _soapClient.BuildMessage()
                .WithAction(Schema.InvokeAction)
                .WithSelectors(name.CreateSelectorSet())
                .WithResourceUri(Schema.DynamicMBeanResourceUri)
                .AddBody(new InvokeMessage(request))
                .SendAndGetResponse();

            var payload = responseMessage.GetPayload<InvokeResponseMessage>();
            return payload.ManagedResourceOperationResult.Deserialize();
        }
 public object GetAttribute(ObjectName name, string attributeName)
 {
     try
     {
         return _manClient.Get<XmlFragment<DynamicMBeanResource>>(Schema.DynamicMBeanResourceUri,
                                                               new GetAttributesFragment(attributeName).GetExpression(), name.CreateSelectorSet())
         .Value.Property.First(x => x.name == attributeName).Deserialize();
     }
     catch (FaultException ex)
     {
         if (new EndpointUnavailableFaultException().Equals(ex))
         {
             throw new InstanceNotFoundException(name);
         }
         throw;
     }
 }
 public void UnregisterMBean(ObjectName name)
 {
     _manClient.Delete(Schema.DynamicMBeanResourceUri, name.CreateSelectorSet());
 }
        public IList<AttributeValue> SetAttributes(ObjectName name, IEnumerable<AttributeValue> namesAndValues)
        {
            var request = new DynamicMBeanResource
                              {
                                  Property =
                                      namesAndValues.Select(x => new NamedGenericValueType(x.Name, x.Value)).ToArray()
                              };
            var names = namesAndValues.Select(x => x.Name);

            return _manClient.Put<XmlFragment<DynamicMBeanResource>>(
                Schema.DynamicMBeanResourceUri,
                new GetAttributesFragment(names).GetExpression(),
                new XmlFragment<DynamicMBeanResource>(request), name.CreateSelectorSet())
               .Value.Property.Select(x => new AttributeValue(x.name, x.Deserialize())).ToList();
        }
        public void SetAttribute(ObjectName name, string attributeName, object value)
        {
            var request = new DynamicMBeanResource
                              {
                                  Property = new[]
                                               {
                                                   new NamedGenericValueType(attributeName, value),
                                               }
                              };

            _manClient.Put<XmlFragment<DynamicMBeanResource>>(Schema.DynamicMBeanResourceUri, new GetAttributesFragment(attributeName).GetExpression(), new XmlFragment<DynamicMBeanResource>(request), name.CreateSelectorSet());
        }
 public IEnumerable<ObjectName> QueryNames(ObjectName name, IExpression<bool> query)
 {
     var queryExpression = query != null
         ? ExpressionGenerator.Generate(query)
         : null;
     var filter = new Filter(Schema.QueryNamesDialect, queryExpression);
     return _enumClient.EnumerateEPR(Schema.DynamicMBeanResourceUri, filter, _enumerationMaxElements,
                                     name.CreateSelectorSet())
        .Select(x => x.ExtractObjectName());
 }
 public bool IsRegistered(ObjectName name)
 {
     return _enumClient.EnumerateEPR(Schema.DynamicMBeanResourceUri, null, 1,
                                     name.CreateSelectorSet()).Count() > 0;
 }
        public bool IsInstanceOf(ObjectName name, string className)
        {
            var responseMessage = _soapClient.BuildMessage()
                .WithAction(Schema.InstanceOfAction)
                .WithSelectors(name.CreateSelectorSet())
                .WithResourceUri(Schema.DynamicMBeanResourceUri)
                .AddBody(new IsInstanceOfMessage(className))
                .SendAndGetResponse();

            var payload = responseMessage.GetPayload<IsInstanceOfResponseMessage>();
            return payload.Value;
        }
 public void UnregisterMBean(ObjectName name)
 {
     _manClient.Delete(Schema.DynamicMBeanResourceUri, name.CreateSelectorSet());
 }
        public MBeanInfo GetMBeanInfo(ObjectName name)
        {
            var responseMessage = _soapClient.BuildMessage()
                .WithAction(Schema.GetMBeanInfoAction)
                .WithSelectors(name.CreateSelectorSet())
                .WithResourceUri(Schema.DynamicMBeanResourceUri)
                .SendAndGetResponse();

            var payload = responseMessage.GetPayload<ResourceMetaDataTypeMessage>();
            return payload.DynamicMBeanResourceMetaData.Deserialize();
        }