Subversion Repositories XServices

Rev

Rev 199 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

/*
 *   Copyright 2013 Brian Rosenberger (Brutex Network)
 *
 *   Licensed 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 net.brutex.xservices.ws;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

import net.brutex.xservices.types.HostConnection;
import net.brutex.xservices.types.HostinfoType;
import net.brutex.xservices.types.MailMimeType;
import net.brutex.xservices.types.ReturnCode;
import net.brutex.xservices.types.RuntimeInfoType;
import net.brutex.xservices.types.alfevent.ALFEventResponseType;
import net.brutex.xservices.types.alfevent.ALFEventType;
import net.brutex.xservices.types.ant.FileSetResource;

import org.apache.cxf.aegis.type.java5.XmlElement;
import org.apache.cxf.aegis.type.java5.XmlReturnType;
import org.apache.cxf.annotations.WSDLDocumentation;
import org.h2.jdbcx.JdbcConnectionPool;

import java.math.BigInteger;

/**
 * Bundles various methods
 *
 * @author Brian Rosenberger, bru@brutex.de
 * @since 0.4.0
 */
@WebService(targetNamespace = net.brutex.xservices.util.BrutexNamespaces.WS_XSERVICES)
//@SOAPBinding(style = SOAPBinding.Style.RPC)
@WSDLDocumentation("Various service operations.")
public interface MiscService {

         public static final String OPERATION_GETMEMORY = "getMemory";

        @WebMethod(operationName="getHostinfo")
          @WSDLDocumentation("Get information about a host.")
          public abstract HostinfoType getHostinfo(@WebParam(name="hostname") @XmlElement(minOccurs="1", nillable=false) String paramString);

          @WebMethod(operationName="sleep")
          @WSDLDocumentation("Delay request response a specified duration.")
          public abstract ReturnCode sleep(@WebParam(name="minutes") int paramInt1, @WebParam(name="seconds") int paramInt2);

          @WebMethod(operationName="getInfo")
          @WSDLDocumentation("Get XService information.")
          public abstract ReturnCode getInfo();

          @WebMethod(operationName="generateUUID")
          @WSDLDocumentation("Generate a UUID.")
          public abstract String generateUUID();

          @WebMethod(operationName="getMemory")
          @WSDLDocumentation("Get memory and processor information")
          public abstract RuntimeInfoType getMemory();

          @WebMethod(operationName="lock")
          @WSDLDocumentation("Get a lock.")
          public abstract BigInteger lock(@WebParam(name="id") @XmlElement(nillable = false) String id,
                                                                          @WebParam(name="objectId") @XmlElement(nillable = false) String objectId) throws XServicesFault;

         @WebMethod(operationName="", action = "EventNotice")
         @SOAPBinding(use = SOAPBinding.Use.LITERAL, style = SOAPBinding.Style.DOCUMENT, parameterStyle = SOAPBinding.ParameterStyle.BARE)
         public abstract ALFEventResponseType mergeALFEvent(@WebParam(name="ALFEventNoticeDoc", targetNamespace = "http://www.eclipse.org/alf/schema/EventBase/1") ALFEventType event) throws XServicesFault;
}