package org.mobicents.slee.resource.xcapclient; import java.util.List; import org.mobicents.slee.resource.xcapclient.AsyncActivity; import org.mobicents.slee.resource.xcapclient.XCAPResourceAdaptorActivityHandle; import org.mobicents.slee.resource.xcapclient.handler.AsyncDeleteHandler; import org.mobicents.slee.resource.xcapclient.handler.AsyncDeleteIfMatchHandler; import org.mobicents.slee.resource.xcapclient.handler.AsyncDeleteIfNoneMatchHandler; import org.mobicents.slee.resource.xcapclient.handler.AsyncGetHandler; import org.mobicents.slee.resource.xcapclient.handler.AsyncPutByteArrayContentHandler; import org.mobicents.slee.resource.xcapclient.handler.AsyncPutIfMatchByteArrayContentHandler; import org.mobicents.slee.resource.xcapclient.handler.AsyncPutIfMatchStringContentHandler; import org.mobicents.slee.resource.xcapclient.handler.AsyncPutIfNoneMatchByteArrayContentHandler; import org.mobicents.slee.resource.xcapclient.handler.AsyncPutIfNoneMatchStringContentHandler; import org.mobicents.slee.resource.xcapclient.handler.AsyncPutStringContentHandler; import org.openxdm.xcap.client.RequestHeader; import org.openxdm.xcap.common.key.XcapUriKey; public class AsyncActivityImpl implements AsyncActivity { /** * */ private static final long serialVersionUID = 1L; private transient XCAPClientResourceAdaptor ra; private transient XCAPResourceAdaptorActivityHandle handle; public AsyncActivityImpl(XCAPClientResourceAdaptor ra, XCAPResourceAdaptorActivityHandle handle) { this.handle = handle; this.ra = ra; } public XCAPClientResourceAdaptor getRA() { return ra; } public XCAPResourceAdaptorActivityHandle getHandle() { return handle; } public void endActivity() { ra.endActivity(handle); } public boolean equals(Object o) { if (o != null && o.getClass() == this.getClass()) { return ((AsyncActivityImpl)o).handle.equals(this.handle); } else { return false; } } public int hashCode() { return handle.hashCode(); } public void delete(XcapUriKey key, List<RequestHeader> additionalRequestHeaders) { ra.getExecutorService().execute(new AsyncDeleteHandler(ra,handle,key,additionalRequestHeaders)); } public void deleteIfMatch(XcapUriKey key, String eTag, List<RequestHeader> additionalRequestHeaders) { ra.getExecutorService().execute(new AsyncDeleteIfMatchHandler(ra,handle,key,eTag,additionalRequestHeaders)); } public void deleteIfNoneMatch(XcapUriKey key, String eTag, List<RequestHeader> additionalRequestHeaders) { ra.getExecutorService().execute(new AsyncDeleteIfNoneMatchHandler(ra,handle,key,eTag,additionalRequestHeaders)); } public void get(XcapUriKey key, List<RequestHeader> additionalRequestHeaders) { ra.getExecutorService().execute(new AsyncGetHandler(ra,handle,key,additionalRequestHeaders)); } public void put(XcapUriKey key, String mimetype, String content, List<RequestHeader> additionalRequestHeaders) { ra.getExecutorService().execute(new AsyncPutStringContentHandler(ra,handle,key,mimetype,content,additionalRequestHeaders)); } public void put(XcapUriKey key, String mimetype, byte[] content, List<RequestHeader> additionalRequestHeaders) { ra.getExecutorService().execute(new AsyncPutByteArrayContentHandler(ra,handle,key,mimetype,content,additionalRequestHeaders)); } public void putIfMatch(XcapUriKey key, String eTag, String mimetype, String content, List<RequestHeader> additionalRequestHeaders) { ra.getExecutorService().execute(new AsyncPutIfMatchStringContentHandler(ra,handle,key,eTag,mimetype,content,additionalRequestHeaders)); } public void putIfMatch(XcapUriKey key, String eTag, String mimetype, byte[] content, List<RequestHeader> additionalRequestHeaders) { ra.getExecutorService().execute(new AsyncPutIfMatchByteArrayContentHandler(ra,handle,key,eTag,mimetype,content,additionalRequestHeaders)); } public void putIfNoneMatch(XcapUriKey key, String eTag, String mimetype, String content, List<RequestHeader> additionalRequestHeaders) { ra.getExecutorService().execute(new AsyncPutIfNoneMatchStringContentHandler(ra,handle,key,eTag,mimetype,content,additionalRequestHeaders)); } public void putIfNoneMatch(XcapUriKey key, String eTag, String mimetype, byte[] content, List<RequestHeader> additionalRequestHeaders) { ra.getExecutorService().execute(new AsyncPutIfNoneMatchByteArrayContentHandler(ra,handle,key,eTag,mimetype,content,additionalRequestHeaders)); } }