interfaces
Interface WSIDOInterface

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
WSIDOServer

public interface WSIDOInterface
extends java.rmi.Remote

Here we define actions for the "normal users" of the program


Method Summary
 boolean addToContactList(UserVerification userver, long addUserId)
           
 boolean changePreferences(UserVerification userver, StandardUser user)
          sends the user object to the server to update user preferences
 long createAccount(StandardUser user)
          creates a new Account on the server
 boolean createModule(UserVerification userver, java.lang.String name, java.lang.String language, java.lang.String description, java.lang.String question)
          create a new module
 boolean deleteContact(UserVerification userver, long addUserId)
           
 boolean deleteOwnModule(UserVerification userver, long moduleId)
           
 boolean editOwnModule(UserVerification userver, long moduleId, java.lang.String name, java.lang.String language, java.lang.String description, java.lang.String question)
          edit module details for owner
 java.util.Vector<Item> getAllModuleItems(UserVerification userver, long moduleId)
          get all items for a module in alphabetical order, even if not voted for them
 java.util.Vector<Module> getChoicableModules(UserVerification userver)
          get modules, for which the user can choose an item (if not already chosen --> one per day)
 java.util.Vector<StandardUserExtended> getContactList(UserVerification userver)
          returns contactlist users
 java.util.Vector<StandardUserExtended> getInteractionUsers(UserVerification userver, Item item)
          returns possible users for interaction
 java.util.Vector<Module> getModules(UserVerification userver, java.lang.String language)
          returns available modules, allow user to choose modules depending on language
 java.util.Vector<Module> getOwnModules(UserVerification userver)
          returns modules, that this user has created
 java.util.Vector<Item> getPersonalizedToplist(UserVerification userver, long moduleId)
          simple toplist like the getToplist method with the following difference this toplist is only for PowerUsers. the ranking of the items of the toplist is different it will be checked if the PowerUser who requests the PersonalizedToplist has interacted with another user who has voted for this item. if this condition is true the item will be ranked higher.
 java.util.Vector<Item> getToplist(UserVerification userver, long moduleId)
          returns top list for a module
 java.util.Vector<Item> getToplistDuration(UserVerification userver, int days, long moduleId)
          returns top list depending on specified duration (weekly, monthly lists)
 boolean interact(UserVerification userver, long userId)
          starts the interaction with a client
 StandardUser login(UserVerification userver, WSIDOClientInterface clientApp)
          logs in and passes own reference for later interactions
 boolean logout(UserVerification userver)
          user logout (delete remote object, statistic references)
 boolean sendMsg(UserVerification userver, long receiverId, java.lang.String message)
          send message to a User id receiverId
 boolean setChoice(UserVerification userver, long itemId)
          set a choice for a module
 boolean setChoice(UserVerification userver, long moduleId, java.lang.String newItemName, java.lang.String url)
          create a choice for a module
 boolean updateSubscribedModules(StandardUser user)
           
 

Method Detail

getInteractionUsers

java.util.Vector<StandardUserExtended> getInteractionUsers(UserVerification userver,
                                                           Item item)
                                                           throws java.rmi.RemoteException
returns possible users for interaction

Parameters:
userver -
item -
Returns:
vector with StandardUsersExtended
Throws:
java.rmi.RemoteException

getContactList

java.util.Vector<StandardUserExtended> getContactList(UserVerification userver)
                                                      throws java.rmi.RemoteException
returns contactlist users

Parameters:
userver -
Returns:
Vector used for the contactlist of a user
Throws:
java.rmi.RemoteException

interact

boolean interact(UserVerification userver,
                 long userId)
                 throws java.rmi.RemoteException
starts the interaction with a client

Parameters:
userver -
userId -
Returns:
true if possible chatPartner accepts the chat request
Throws:
java.rmi.RemoteException

getToplistDuration

java.util.Vector<Item> getToplistDuration(UserVerification userver,
                                          int days,
                                          long moduleId)
                                          throws java.rmi.RemoteException
returns top list depending on specified duration (weekly, monthly lists)

Parameters:
userver -
days -
moduleId -
Returns:
returns a vector with all items for a specified module sorted by votes (toplist). this toplist shows the ranking of the items in a specific time range (int days) including today
Throws:
java.rmi.RemoteException

login

StandardUser login(UserVerification userver,
                   WSIDOClientInterface clientApp)
                   throws java.rmi.RemoteException
logs in and passes own reference for later interactions

Parameters:
userver -
clientApp -
Returns:
returns a StandardUser object with all the settings for a specified user stored in the database
Throws:
java.rmi.RemoteException

logout

boolean logout(UserVerification userver)
               throws java.rmi.RemoteException
user logout (delete remote object, statistic references)

Parameters:
userver -
Returns:
true if logout successfull
Throws:
java.rmi.RemoteException

editOwnModule

boolean editOwnModule(UserVerification userver,
                      long moduleId,
                      java.lang.String name,
                      java.lang.String language,
                      java.lang.String description,
                      java.lang.String question)
                      throws java.rmi.RemoteException
edit module details for owner

Parameters:
userver -
moduleId -
name -
language -
description -
question -
Returns:
true if update successfull
Throws:
java.rmi.RemoteException

createModule

boolean createModule(UserVerification userver,
                     java.lang.String name,
                     java.lang.String language,
                     java.lang.String description,
                     java.lang.String question)
                     throws java.rmi.RemoteException
create a new module

Parameters:
userver -
name -
language -
description -
question -
Returns:
true if module creation successfull
Throws:
java.rmi.RemoteException

getChoicableModules

java.util.Vector<Module> getChoicableModules(UserVerification userver)
                                             throws java.rmi.RemoteException
get modules, for which the user can choose an item (if not already chosen --> one per day)

Parameters:
userver -
Returns:
modules, for which the user can choose an item (if not already chosen --> one per day)
Throws:
java.rmi.RemoteException

getAllModuleItems

java.util.Vector<Item> getAllModuleItems(UserVerification userver,
                                         long moduleId)
                                         throws java.rmi.RemoteException
get all items for a module in alphabetical order, even if not voted for them

Parameters:
userver -
moduleId -
Returns:
Vector with all items of a module
Throws:
java.rmi.RemoteException

setChoice

boolean setChoice(UserVerification userver,
                  long itemId)
                  throws java.rmi.RemoteException
set a choice for a module

Parameters:
userver -
itemId -
Returns:
true if successfull
Throws:
java.rmi.RemoteException

setChoice

boolean setChoice(UserVerification userver,
                  long moduleId,
                  java.lang.String newItemName,
                  java.lang.String url)
                  throws java.rmi.RemoteException
create a choice for a module

Parameters:
userver -
moduleId -
newItemName -
url -
Returns:
true if successfull
Throws:
java.rmi.RemoteException

getModules

java.util.Vector<Module> getModules(UserVerification userver,
                                    java.lang.String language)
                                    throws java.rmi.RemoteException
returns available modules, allow user to choose modules depending on language

Parameters:
userver -
language -
Returns:
Vector with modules of the same language
Throws:
java.rmi.RemoteException

getOwnModules

java.util.Vector<Module> getOwnModules(UserVerification userver)
                                       throws java.rmi.RemoteException
returns modules, that this user has created

Parameters:
userver -
Returns:
Vector with all modules that a specific user has created
Throws:
java.rmi.RemoteException

getToplist

java.util.Vector<Item> getToplist(UserVerification userver,
                                  long moduleId)
                                  throws java.rmi.RemoteException
returns top list for a module

Parameters:
userver -
moduleId -
Returns:
vector with all items for a specified module sorted by number of votes
Throws:
java.rmi.RemoteException

changePreferences

boolean changePreferences(UserVerification userver,
                          StandardUser user)
                          throws java.rmi.RemoteException
sends the user object to the server to update user preferences

Parameters:
userver -
user -
Returns:
true if successfull
Throws:
java.rmi.RemoteException

createAccount

long createAccount(StandardUser user)
                   throws java.rmi.RemoteException
creates a new Account on the server

Parameters:
user -
Returns:
Returns the User ID for login
Throws:
java.rmi.RemoteException

sendMsg

boolean sendMsg(UserVerification userver,
                long receiverId,
                java.lang.String message)
                throws java.rmi.RemoteException
send message to a User id receiverId

Parameters:
userver -
receiverId -
message -
Returns:
true if message sent successfully
Throws:
java.rmi.RemoteException

getPersonalizedToplist

java.util.Vector<Item> getPersonalizedToplist(UserVerification userver,
                                              long moduleId)
                                              throws java.rmi.RemoteException
simple toplist like the getToplist method with the following difference this toplist is only for PowerUsers. the ranking of the items of the toplist is different it will be checked if the PowerUser who requests the PersonalizedToplist has interacted with another user who has voted for this item. if this condition is true the item will be ranked higher. that means normal votes + 5. if the PowerUser who requests the PersonalizedToplist has another user who has voted for this item in his contactlist the item will be ranked votes + 20 same in GERMAN: ================= normale topliste wie methode getToplist mit dem unterschied nur für PowerUser. es wird geprueft, ob mit benutzern, die für ein in der topliste vorhandenes item gevoted haben interagiert (gechatted) wurde. wenn gechatted wurde, wird dieses item auch wenn es moeglicherweise weniger votes hat, hoeher gerankt (wenn interagiert wurde werden 5 votes dazugezaehlt --> hoeheres ranking). wenn man nicht nur gechatted hat sondern einen anderen benutzer, der fuer dieses item gevoted hat, sogar in seiner contactlist hat, wird das item noch hoeher gerankt (20 votes dazugezählt).

Parameters:
userver -
moduleId -
Returns:
Vector with personalized items
Throws:
java.rmi.RemoteException

addToContactList

boolean addToContactList(UserVerification userver,
                         long addUserId)
                         throws java.rmi.RemoteException
Parameters:
userver -
addUserId -
Returns:
true if successfully added
Throws:
java.rmi.RemoteException

deleteContact

boolean deleteContact(UserVerification userver,
                      long addUserId)
                      throws java.rmi.RemoteException
Parameters:
userver -
addUserId -
Returns:
true if contact deleted successfully else false
Throws:
java.rmi.RemoteException

deleteOwnModule

boolean deleteOwnModule(UserVerification userver,
                        long moduleId)
                        throws java.rmi.RemoteException
Parameters:
userver -
moduleId -
Returns:
true if module deleted successfully
Throws:
java.rmi.RemoteException

updateSubscribedModules

boolean updateSubscribedModules(StandardUser user)
                                throws java.rmi.RemoteException
Parameters:
user -
Returns:
true if successfull
Throws:
java.rmi.RemoteException