/** * Copyright (c) 2011, SOCIETIES Consortium (WATERFORD INSTITUTE OF TECHNOLOGY (TSSG), HERIOT-WATT UNIVERSITY (HWU), SOLUTA.NET * (SN), GERMAN AEROSPACE CENTRE (Deutsches Zentrum fuer Luft- und Raumfahrt e.V.) (DLR), Zavod za varnostne tehnologije * informacijske družbe in elektronsko poslovanje (SETCCE), INSTITUTE OF COMMUNICATION AND COMPUTER SYSTEMS (ICCS), LAKE * COMMUNICATIONS (LAKE), INTEL PERFORMANCE LEARNING SOLUTIONS LTD (INTEL), PORTUGAL TELECOM INOVAÇÃO, SA (PTIN), IBM Corp., * INSTITUT TELECOM (ITSUD), AMITEC DIACHYTI EFYIA PLIROFORIKI KAI EPIKINONIES ETERIA PERIORISMENIS EFTHINIS (AMITEC), TELECOM * ITALIA S.p.a.(TI), TRIALOG (TRIALOG), Stiftelsen SINTEF (SINTEF), NEC EUROPE LTD (NEC)) * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following * conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT * SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package org.societies.api.internal.privacytrust.privacyprotection.util.remote; import java.io.IOException; import java.io.Serializable; import org.societies.api.comm.xmpp.interfaces.ICommManager; import org.societies.api.context.model.util.SerialisationHelper; import org.societies.api.identity.IIdentityManager; import org.societies.api.identity.InvalidFormatException; import org.societies.api.identity.Requestor; import org.societies.api.identity.RequestorCis; import org.societies.api.identity.RequestorService; import org.societies.api.schema.identity.RequestorBean; import org.societies.api.schema.identity.RequestorCisBean; import org.societies.api.schema.identity.RequestorServiceBean; /** * Describe your class here... * * @author Eliza * */ public class Util { public static Object convertToObject(byte[] byteArray, Class c){ try { return SerialisationHelper.deserialise(byteArray, c.getClassLoader()); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (ClassNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } /* try { ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(byteArray)); Object obj = ois.readObject(); return obj; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; */ return null; } public static byte[] toByteArray(Object obj){ try { return SerialisationHelper.serialise((Serializable) obj); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } /* ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos; try { oos = new ObjectOutputStream(bos); oos.writeObject(obj); oos.flush(); oos.close(); bos.close(); this.logging.debug("Trying to store preference of size: "+bos.size()); return bos.toByteArray(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } */ return null; } public static Requestor getRequestorFromBean(RequestorBean bean, ICommManager commManager){ IIdentityManager idm = commManager.getIdManager(); try { if (bean instanceof RequestorCisBean){ RequestorCis requestor = new RequestorCis(idm.fromJid(bean.getRequestorId()), idm.fromJid(((RequestorCisBean) bean).getCisRequestorId())); return requestor; }else if (bean instanceof RequestorServiceBean){ RequestorService requestor = new RequestorService(idm.fromJid(bean.getRequestorId()), ((RequestorServiceBean) bean).getRequestorServiceId()); return requestor; }else{ return new Requestor(idm.fromJid(bean.getRequestorId())); } } catch (InvalidFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } public static RequestorBean createRequestorBean(Requestor requestor){ if (requestor instanceof RequestorCis){ RequestorCisBean cisRequestorBean = new RequestorCisBean(); cisRequestorBean.setRequestorId(requestor.getRequestorId().getJid()); cisRequestorBean.setCisRequestorId(((RequestorCis) requestor).getCisRequestorId().getJid()); return cisRequestorBean; }else if (requestor instanceof RequestorService){ RequestorServiceBean serviceRequestorBean = new RequestorServiceBean(); serviceRequestorBean.setRequestorId(requestor.getRequestorId().getJid()); serviceRequestorBean.setRequestorServiceId(((RequestorService) requestor).getRequestorServiceId()); return serviceRequestorBean; }else{ RequestorBean requestorBean = new RequestorBean(); requestorBean.setRequestorId(requestor.getRequestorId().getJid()); return requestorBean; } } }