/** * 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.orchestration.api; import java.util.ArrayList; /* * Descriptions taken from EA in the UserInterface component */ public interface IUserInput { /* * Description: The configureCIS method invokes the configureCIS method * inside the Community Lifecycle Management component * in order to change parameters of a specific CIS. * Parameters: * 1) CIS - The CIS descriptor you want to change parameters. * 2) details - The details you want to change * Returns: * * True if the component was able to modify the CIS. * * False if the component was NOT able to modify the CIS. * Notes: Error messages must be handled by the User Interface component. */ public boolean configureCIS (Object CIS, Object details); /* * Description: The createCISs method invokes the createCISs method * inside the Community Lifecycle Management component. * Parameters: * 1) ArrayList<CIS> - the array list of CISs to create. * It can be one or more CISs at time. * Returns: * * The number of CISs that component was able to create. * If the returned result is 0, no CISs were created. * Notes: Error messages must be handled by the User Interface component. */ public boolean createCISs (ArrayList<Object> CISs); /* * Description: The deleteCISs method invokes the deleteCISs method * inside the Community Lifecycle Management component. * Parameters: * 1) ArrayList<CIS> - the array list of CISs to destroy. * It can be one or more CISs at time. * Returns: * * The number of CISs deleted. * Notes: */ public boolean deleteCISs (ArrayList<Object> CISs); /* * Description: The getCISInfo method invokes the getCISInfo method * inside the Crowd Sourcing Manager component. * Parameters: * 1) CIS - the CIS descriptor you want to get information. * Returns: * * A CIS Entity descriptor. * Notes: Information must be rendered by the User Interface component. */ public Object getCISInfo (Object CIS); /* * Description: The getMyCISs method returns a list of CISs * where the user is registered. * Parameters: * Returns: * * An Array List of configured CISs. * Notes: */ public ArrayList<Object> getMyCISs (); /* * Description: The getReccomendedCISs method is used when a user wants to * get tips about new CISs based on user interests. * Parameters: * Returns: * * An Array List of possible CISs. * Notes: This API is triggered MANUALLY and not automatically. */ public ArrayList<Object> getRecommendedCISs (); /* * Description: The getUserInfo method invokes the getUserInfo method * inside the Crowd Sourcing Manager component. * Parameters: * Returns: * * A CIS Entity descriptor. * Notes: Information must be rendered by the User Interface component. */ public Object getUserInfo (Object CSS); /* * Description: The searchAvailableCISs represents the API you call * when you need to search on available CIS. * Parameters: * 1) searchFilter - it consists into search string filters to use * when searching inside the registry. * Returns: * * An Array List of available CIS matching the criterias * used in the search filter. * Notes: Information must be rendered by the User Interface component. */ public ArrayList<Object> searchAvailableCISs (String filter); /* * Description: InviteCSSJoinCIS represents the API you call * when you want to inform external CSS to join * a particular CIS (for example: a just created CIS). * Parameters: * 1) CSSdescriptor - representing a list of CSSs you want to invite. * 2) CISdescriptor - representing the CIS you just created. * Returns: * Notes: */ public Object sendInvitations (ArrayList<Object> CSSnodes, Object CIS); /* * Description: setStatus methods set the user status. * It delegates this function to the T4.5 components. * Parameters: * 1) status - a string indicated the status or an enumeration of strings. * Returns: * * True if status was applied correctly. * * False if status was not applied correctly. * Notes: */ public boolean setCSSStatus (String status); /* * Description: The setDeletedCISsNotification method sets the notifyDeletedCISs variable. * Parameters: * 1) status - It enables or disables the notifier. * Returns: * * True if the variable is set to true. * * False if the variable is set to false. * Notes: */ public boolean setDeletedCISsNotification (boolean notifier); /* * Description: The setIntervalTrigger sets the interval in milliseconds * that a scheduler must be called for triggering events. * Parameters: * 1) interval - The interval of time before the events start. * Interval is expressed in milliseconds. * Returns: * * True if the method was able to set the correct value. * * False if the method was NOT able to set the correct value. * Notes: A scheduler must be designed. */ public boolean setIntervalTrigger (long milliseconds); /* * Description: GivePermissions represents the API you call * when you want to give permissions to a particular CSS. * Parameters: * 1) CISdescriptor - representing the CIS you want to change permissions. * 2) PermissionsDescriptor - represents the permissions to * set to a specific CIS. * Returns: * * True if permissions applied correctly. * * False if something went wrong. * Notes: */ public boolean setPermissions (Object CIS, Object permissions); }