*) additional soap function to query peer status

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@2920 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
theli 19 years ago
parent bd3710a974
commit 892b9f2fc4

@ -130,7 +130,7 @@ public class AdminService extends AbstractService {
* ===================================================================== */ * ===================================================================== */
private static final String TEMPLATE_CONFIG_XML = "xml/config_p.xml"; private static final String TEMPLATE_CONFIG_XML = "xml/config_p.xml";
private static final String TEMPLATE_VERSION_XML = "xml/version.xml"; private static final String TEMPLATE_VERSION_XML = "xml/version.xml";
private static final String TEMPLATE_PROFILE_XML = "ViewProfile.xml"; private static final String TEMPLATE_PROFILE_XML = "ViewProfile.xml";
/** /**
* This function can be used to set a configuration option * This function can be used to set a configuration option
@ -143,7 +143,7 @@ public class AdminService extends AbstractService {
if ((key == null)||(key.length() == 0)) throw new IllegalArgumentException("Key must not be null or empty."); if ((key == null)||(key.length() == 0)) throw new IllegalArgumentException("Key must not be null or empty.");
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
// add key to switchboard // add key to switchboard
if (value == null) value = ""; if (value == null) value = "";
@ -164,7 +164,7 @@ public class AdminService extends AbstractService {
if (keys.length != values.length) throw new IllegalArgumentException("Invalid input. " + keys.length + " keys but " + values.length + " values received."); if (keys.length != values.length) throw new IllegalArgumentException("Invalid input. " + keys.length + " keys but " + values.length + " values received.");
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
for (int i=0; i < keys.length; i++) { for (int i=0; i < keys.length; i++) {
// get the key // get the key
@ -191,7 +191,7 @@ public class AdminService extends AbstractService {
if ((key == null)||(key.length() == 0)) throw new IllegalArgumentException("Key must not be null or empty."); if ((key == null)||(key.length() == 0)) throw new IllegalArgumentException("Key must not be null or empty.");
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
// get the config property // get the config property
return this.switchboard.getConfig(key,null); return this.switchboard.getConfig(key,null);
@ -208,7 +208,7 @@ public class AdminService extends AbstractService {
if ((keys == null)||(keys.length== 0)) throw new IllegalArgumentException("Key array must not be null or empty."); if ((keys == null)||(keys.length== 0)) throw new IllegalArgumentException("Key array must not be null or empty.");
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
// get the properties // get the properties
ArrayList returnValues = new ArrayList(keys.length); ArrayList returnValues = new ArrayList(keys.length);
@ -242,7 +242,7 @@ public class AdminService extends AbstractService {
*/ */
public Document getConfigPropertyList() throws Exception { public Document getConfigPropertyList() throws Exception {
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
// generating the template containing the network status information // generating the template containing the network status information
byte[] result = writeTemplate(TEMPLATE_CONFIG_XML, new serverObjects()); byte[] result = writeTemplate(TEMPLATE_CONFIG_XML, new serverObjects());
@ -267,14 +267,14 @@ public class AdminService extends AbstractService {
*/ */
public Document getVersion() throws Exception { public Document getVersion() throws Exception {
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
// generating the template containing the network status information // generating the template containing the network status information
byte[] result = writeTemplate(TEMPLATE_VERSION_XML, new serverObjects()); byte[] result = writeTemplate(TEMPLATE_VERSION_XML, new serverObjects());
// sending back the result to the client // sending back the result to the client
return this.convertContentToXML(result); return this.convertContentToXML(result);
} }
/** /**
* This function can be used to configure the peer name * This function can be used to configure the peer name
@ -286,7 +286,7 @@ public class AdminService extends AbstractService {
if ((newName == null)||(newName.length() == 0)) throw new IllegalArgumentException("The peer name must not be null or empty."); if ((newName == null)||(newName.length() == 0)) throw new IllegalArgumentException("The peer name must not be null or empty.");
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
// get the previous name // get the previous name
String prevName = this.switchboard.getConfig(PEER_NAME, ""); String prevName = this.switchboard.getConfig(PEER_NAME, "");
@ -325,7 +325,7 @@ public class AdminService extends AbstractService {
if (newPort <= 0) throw new IllegalArgumentException("Invalid port number"); if (newPort <= 0) throw new IllegalArgumentException("Invalid port number");
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
// get the old value // get the old value
int oldPort = (int) this.switchboard.getConfigLong(PORT, 8080); int oldPort = (int) this.switchboard.getConfigLong(PORT, 8080);
@ -349,7 +349,7 @@ public class AdminService extends AbstractService {
*/ */
public void enableRemoteProxy(boolean enableProxy) throws AxisFault { public void enableRemoteProxy(boolean enableProxy) throws AxisFault {
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
// check for errors // check for errors
String proxyHost = this.switchboard.getConfig(REMOTE_PROXY_HOST, ""); String proxyHost = this.switchboard.getConfig(REMOTE_PROXY_HOST, "");
@ -392,7 +392,7 @@ public class AdminService extends AbstractService {
Boolean useProxy4SSL Boolean useProxy4SSL
) throws AxisFault { ) throws AxisFault {
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
if (proxyHost != null) if (proxyHost != null)
this.switchboard.setConfig(REMOTE_PROXY_HOST, proxyHost); this.switchboard.setConfig(REMOTE_PROXY_HOST, proxyHost);
@ -425,7 +425,7 @@ public class AdminService extends AbstractService {
*/ */
public void shutdownPeer() throws AxisFault { public void shutdownPeer() throws AxisFault {
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
this.switchboard.setConfig(RESTART, "false"); this.switchboard.setConfig(RESTART, "false");
@ -447,7 +447,7 @@ public class AdminService extends AbstractService {
Integer maximumAllowedPPM Integer maximumAllowedPPM
) throws AxisFault { ) throws AxisFault {
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
// if the ppm was set, change it // if the ppm was set, change it
if (maximumAllowedPPM != null) { if (maximumAllowedPPM != null) {
@ -486,7 +486,7 @@ public class AdminService extends AbstractService {
Boolean indexReceiveBlockBlacklist Boolean indexReceiveBlockBlacklist
) throws AxisFault { ) throws AxisFault {
// extracting the message context // extracting the message context
extractMessageContext(true); extractMessageContext(AUTHENTICATION_NEEDED);
// index Distribution on/off // index Distribution on/off
if (indexDistribution != null) { if (indexDistribution != null) {

@ -61,6 +61,7 @@ public class StatusService extends AbstractService {
*/ */
private static final String TEMPLATE_NETWORK_XML = "Network.xml"; private static final String TEMPLATE_NETWORK_XML = "Network.xml";
private static final String TEMPLATE_QUEUES_XML = "xml/queues_p.xml"; private static final String TEMPLATE_QUEUES_XML = "xml/queues_p.xml";
private static final String TEMPLATE_STATUS_XML = "xml/status_p.xml";
/** /**
@ -126,4 +127,20 @@ public class StatusService extends AbstractService {
// sending back the result to the client // sending back the result to the client
return this.convertContentToXML(result); return this.convertContentToXML(result);
} }
/**
* Query status information about this peer
* @return
* @throws Exception
*/
public Document getStatus() throws Exception {
// extracting the message context
extractMessageContext(AUTHENTICATION_NEEDED);
// generating the template containing the network status information
byte[] result = writeTemplate(TEMPLATE_STATUS_XML, new serverObjects());
// sending back the result to the client
return this.convertContentToXML(result);
}
} }

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://yacy:8080/soap/status" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://yacy:8080/soap/status" xmlns:intf="http://yacy:8080/soap/status" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><!--WSDL created by Apache Axis version: 1.2RC2 <wsdl:definitions targetNamespace="http://yacy:8080/soap/status" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://yacy:8080/soap/status" xmlns:intf="http://yacy:8080/soap/status" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><!--WSDL created by Apache Axis version: 1.4
Built on Nov 16, 2004 (12:19:44 EST)--> Built on Apr 22, 2006 (06:55:48 PDT)-->
<wsdl:message name="getQueueStatusResponse"> <wsdl:message name="getQueueStatusResponse">
<wsdl:part name="getQueueStatusReturn" type="apachesoap:Document"/> <wsdl:part name="getQueueStatusReturn" type="apachesoap:Document"/>
</wsdl:message> </wsdl:message>
@ -8,14 +8,14 @@ Built on Nov 16, 2004 (12:19:44 EST)-->
<wsdl:part name="createNewXMLDocumentReturn" type="apachesoap:Document"/> <wsdl:part name="createNewXMLDocumentReturn" type="apachesoap:Document"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="createNewXMLDocumentRequest"> <wsdl:message name="createNewXMLDocumentRequest">
<wsdl:part name="rootElementName" type="soapenc:string"/> <wsdl:part name="rootElementName" type="xsd:string"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="getQueueStatusRequest"> <wsdl:message name="getQueueStatusRequest">
<wsdl:part name="localqueueCount" type="soapenc:int"/> <wsdl:part name="localqueueCount" type="xsd:int"/>
<wsdl:part name="loaderqueueCount" type="soapenc:int"/> <wsdl:part name="loaderqueueCount" type="xsd:int"/>
<wsdl:part name="localcrawlerqueueCount" type="soapenc:int"/> <wsdl:part name="localcrawlerqueueCount" type="xsd:int"/>
<wsdl:part name="remotecrawlerqueueCount" type="soapenc:int"/> <wsdl:part name="remotecrawlerqueueCount" type="xsd:int"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="networkResponse"> <wsdl:message name="networkResponse">
<wsdl:part name="networkReturn" type="apachesoap:Document"/> <wsdl:part name="networkReturn" type="apachesoap:Document"/>
@ -23,7 +23,17 @@ Built on Nov 16, 2004 (12:19:44 EST)-->
</wsdl:message> </wsdl:message>
<wsdl:message name="networkRequest"> <wsdl:message name="networkRequest">
</wsdl:message> </wsdl:message>
<wsdl:message name="getStatusResponse">
<wsdl:part name="getStatusReturn" type="apachesoap:Document"/>
</wsdl:message>
<wsdl:message name="getStatusRequest">
</wsdl:message>
<wsdl:portType name="StatusService"> <wsdl:portType name="StatusService">
<wsdl:operation name="getStatus">
<wsdl:input message="impl:getStatusRequest" name="getStatusRequest"/>
<wsdl:output message="impl:getStatusResponse" name="getStatusResponse"/>
</wsdl:operation>
<wsdl:operation name="network"> <wsdl:operation name="network">
<wsdl:input message="impl:networkRequest" name="networkRequest"/> <wsdl:input message="impl:networkRequest" name="networkRequest"/>
<wsdl:output message="impl:networkResponse" name="networkResponse"/> <wsdl:output message="impl:networkResponse" name="networkResponse"/>
@ -41,6 +51,16 @@ Built on Nov 16, 2004 (12:19:44 EST)-->
<wsdl:binding name="statusSoapBinding" type="impl:StatusService"> <wsdl:binding name="statusSoapBinding" type="impl:StatusService">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getStatus">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getStatusRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/>
</wsdl:input>
<wsdl:output name="getStatusResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/status" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="network"> <wsdl:operation name="network">
<wsdlsoap:operation soapAction=""/> <wsdlsoap:operation soapAction=""/>
<wsdl:input name="networkRequest"> <wsdl:input name="networkRequest">

@ -26,7 +26,12 @@ public class StatusServiceTest extends AbstractServiceTest {
} }
public void testGetQueueStatus() throws RemoteException { public void testGetQueueStatus() throws RemoteException {
Document xml = ((StatusService)service).getQueueStatus(null,null,null,null); Document xml = ((StatusService)service).getQueueStatus(10,10,10,10);
System.out.println(XMLUtils.DocumentToString(xml));
}
public void testStatus() throws RemoteException {
Document xml = ((StatusService)service).getStatus();
System.out.println(XMLUtils.DocumentToString(xml)); System.out.println(XMLUtils.DocumentToString(xml));
} }
} }

Loading…
Cancel
Save