/*
* Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* WSO2 Inc. 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.wso2.carbon.attachment.mgt.ui;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.attachment.mgt.stub.AttachmentMgtException;
import org.wso2.carbon.attachment.mgt.stub.AttachmentMgtServiceStub;
import org.wso2.carbon.attachment.mgt.stub.types.TAttachment;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import java.io.File;
import java.rmi.RemoteException;
public class SampleAttachmentMgtClient {
private static Log log = LogFactory.getLog(SampleAttachmentMgtClient.class);
public static void main(String[] args) throws RemoteException, AttachmentMgtException {
String id = uploadAttachment();
getAttachmentInfo(id);
removeAttachment(id);
}
private static void removeAttachment (String id) throws RemoteException, AttachmentMgtException {
AttachmentMgtServiceStub stub = new AttachmentMgtServiceStub();
Options options = new Options();
options.setTo(new EndpointReference("http://127.0.0.1:9763/services/AttachmentMgtService/"));
options.setProperty(Constants.Configuration.ENABLE_MTOM, Boolean.TRUE);
stub._getServiceClient().setOptions(options);
if (log.isDebugEnabled()) {
log.debug("Attachment removed status:" + stub.remove(id));
}
}
private static void getAttachmentInfo (String id) throws RemoteException,
AttachmentMgtException {
AttachmentMgtServiceStub stub = new AttachmentMgtServiceStub();
Options options = new Options();
options.setTo(new EndpointReference("http://127.0.0.1:9763/services/AttachmentMgtService/"));
options.setProperty(Constants.Configuration.ENABLE_MTOM, Boolean.TRUE);
stub._getServiceClient().setOptions(options);
TAttachment attachment = stub.getAttachmentInfo(id);
if (log.isDebugEnabled()) {
log.debug("Attachment details received. Id: " + attachment.getId());
}
}
private static String uploadAttachment() throws RemoteException, AttachmentMgtException {
AttachmentMgtServiceStub stub = new AttachmentMgtServiceStub();
Options options = new Options();
options.setTo(new EndpointReference("http://127.0.0.1:9763/services/AttachmentMgtService/"));
options.setProperty(Constants.Configuration.ENABLE_MTOM, Boolean.TRUE);
stub._getServiceClient().setOptions(options);
TAttachment att = new TAttachment();
//att.setId("ContentId");
//att.setCreatedTime(Calendar.getInstance());
att.setName("ContentName");
att.setCreatedBy("DenisAuthor");
att.setContentType("text/plain");
//FileDataSource dataSource = new FileDataSource(new File("/home/denis/Desktop/note.txt"));
FileDataSource dataSource = new FileDataSource(new File("/home/denis/Desktop/fromSoapUI.xml"));
DataHandler fileDataHandler = new DataHandler(dataSource);
att.setContent(fileDataHandler);
String id = stub.add(att);
if (log.isDebugEnabled()) {
log.debug("Attachment uploaded with id: " + id);
}
return id;
}
}