blob: 56ce81358d4be8835d46271051a4cff9e4678ad2 [file] [log] [blame]
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
package org.apache.qpid.management.example;
import org.apache.muse.ws.addressing.EndpointReference;
import org.apache.muse.ws.resource.remote.WsResourceClient;
import org.apache.muse.ws.resource.sg.remote.ServiceGroupClient;
import org.w3c.dom.Element;
/**
* This example shows how to get the whole property document from a WS-Resource.
* Resource property document represents a particular composed structural view of
* the resource properties of the WS-Resource.
* Let's say that It is a way to get all-in-once the state of the WS-Resource.
*
* First of all a request is send to WS-DM in order to get all registered WS-Resources.
* If the returned list is not empty then a GetResourcePropertyDocumentRequest is
* sent to the first child.
*
* @author Andrea Gazzarini
*/
public class GetResourcePropertyDocumentExample extends AbstractQManExample
{
/**
* First of all a request is send to WS-DM in order to get all registered WS-Resources.
* If the returned list is not empty then a GetResourcePropertyDocumentRequest is
* sent to the first child.
*
* @param host the host where QMan is running.
* @param port the port where QMan is running.
* @throws Exception when the example fails (not at application level).
*/
void executeExample(String host, int port) throws Exception
{
// 1) Creates an endpoint reference of the adapter service...
EndpointReference adapterEndpointReference = getAdapterEndpointReference(host, port);
// 2) Creates the Adapter service client...
ServiceGroupClient adapterClient = new ServiceGroupClient(adapterEndpointReference);
adapterClient.setTrace(true);
// 3) Retrieves the all registered members (QMan WS-Resources)
WsResourceClient [] resources = adapterClient.getMembers();
// Sanity check : we cannot proceed if there are no WS-Resources.
if (resources.length == 0)
{
System.out.println("----------------------------WARNING---------------------------");
System.out.println("Cannot proceed with the example... it seems");
System.out.println("that there are no managed WS-Resources on QMan.");
System.out.println("Please check QMan in order to see that it is really");
System.out.println("connected with a broker.");
System.out.println("-------------------------------------------------------------------");
System.exit(0);
}
// 4) ..and invokes the GetMetadata on the first member.
WsResourceClient wsResourceClient = resources[0];
wsResourceClient.setTrace(true);
@SuppressWarnings("unused")
Element resourcePropertyDocument = wsResourceClient.getResourcePropertyDocument();
}
/**
* Prints out a description of this example.
*/
void printOutExampleDescription()
{
System.out.println(" "+getClass().getSimpleName()+" ");
System.out.println("-------------------------------------------------------------------");
System.out.println();
System.out.println("This example shows how to get the whole property");
System.out.println("document from a WS-Resource.");
System.out.println("Resource property document represents a particular ");
System.out.println("composed structural view of the resource properties");
System.out.println("of the WS-Resource.");
System.out.println("First of all a request is send to WS-DM in order to get");
System.out.println("all registered WS-Resources.");
System.out.println("the target WS-Resource.");
System.out.println("If the returned list is not empty then a");
System.out.println("GetResourcePropertyDocumentRequest is sent to the first child.");
System.out.println();
System.out.println("-------------------------------------------------------------------");
System.out.println();
}
public static void main(String[] arguments)
{
new GetResourcePropertyDocumentExample().execute(arguments);
}
}