diff --git a/YACOSCore/.classpath b/YACOSCore/.classpath new file mode 100644 index 0000000..338a1cd --- /dev/null +++ b/YACOSCore/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/YACOSCore/.project b/YACOSCore/.project new file mode 100644 index 0000000..be0da08 --- /dev/null +++ b/YACOSCore/.project @@ -0,0 +1,30 @@ + + + YACOSCore + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jem.workbench.JavaEMFNature + + diff --git a/YACOSCore/.settings/org.eclipse.jdt.core.prefs b/YACOSCore/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..b175478 --- /dev/null +++ b/YACOSCore/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Tue Dec 11 22:09:32 CET 2007 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/YACOSCore/.settings/org.eclipse.jst.common.project.facet.core.prefs b/YACOSCore/.settings/org.eclipse.jst.common.project.facet.core.prefs new file mode 100644 index 0000000..d3c76fe --- /dev/null +++ b/YACOSCore/.settings/org.eclipse.jst.common.project.facet.core.prefs @@ -0,0 +1,4 @@ +#Tue Dec 11 22:09:32 CET 2007 +classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.launching.macosx.MacOSXType\:\:JVM\ 1.5.0\ (MacOS\ X\ Default)/owners=jst.java\:5.0 +classpath.helper/org.eclipse.jst.server.core.container\:\:org.eclipse.jst.server.generic.runtimeTarget\:\:JBoss\ v5.0/owners=jst.ejb\:3.0 +eclipse.preferences.version=1 diff --git a/YACOSCore/.settings/org.eclipse.wst.common.component b/YACOSCore/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..1693b8a --- /dev/null +++ b/YACOSCore/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/YACOSCore/.settings/org.eclipse.wst.common.project.facet.core.xml b/YACOSCore/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..86bdff2 --- /dev/null +++ b/YACOSCore/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/YACOSCore/ejbModule/META-INF/MANIFEST.MF b/YACOSCore/ejbModule/META-INF/MANIFEST.MF new file mode 100644 index 0000000..5e94951 --- /dev/null +++ b/YACOSCore/ejbModule/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/YACOSCore/ejbModule/META-INF/ejb-jar.xml b/YACOSCore/ejbModule/META-INF/ejb-jar.xml new file mode 100644 index 0000000..1770019 --- /dev/null +++ b/YACOSCore/ejbModule/META-INF/ejb-jar.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/YACOSCore/ejbModule/org/yacos/core/Conference.java b/YACOSCore/ejbModule/org/yacos/core/Conference.java new file mode 100644 index 0000000..99010e0 --- /dev/null +++ b/YACOSCore/ejbModule/org/yacos/core/Conference.java @@ -0,0 +1,12 @@ +/** + * + */ +package org.yacos.core; + +/** + * @author christiancorsano + * TODO + */ +public class Conference { + +} diff --git a/YACOSCore/ejbModule/org/yacos/core/Role.java b/YACOSCore/ejbModule/org/yacos/core/Role.java new file mode 100644 index 0000000..e5cca91 --- /dev/null +++ b/YACOSCore/ejbModule/org/yacos/core/Role.java @@ -0,0 +1,66 @@ +package org.yacos.core; + +/** + * An role of a given type (author,chairman,PCmember or referee) + * defined for a user and a conference + * @author christiancorsano + * + */ +public class Role { + /** + * User for which this role is defined + */ + private User user; + /** + * Conference for which this role is defined + */ + private Conference conference; + /** + * The type of this role + */ + private RoleType type; + + public Role(RoleType type,User user, Conference conference) { + super(); + setType(type); + setUser(user); + setConference(conference); + } + /** + * @return the user who plays this role + */ + public User getUser() { + return user; + } + /** + * @param user the user who is to play this role + */ + public void setUser(User user) { + this.user = user; + } + /** + * @return the conference for which this role is defined + */ + public Conference getConference() { + return conference; + } + /** + * @param conference the conference for which this role is defined + */ + public void setConference(Conference conference) { + this.conference = conference; + } + /** + * @return the type of this role + */ + public RoleType getType() { + return type; + } + /** + * @param type the type of this role + */ + public void setType(RoleType type) { + this.type = type; + } + +} diff --git a/YACOSCore/ejbModule/org/yacos/core/RoleType.java b/YACOSCore/ejbModule/org/yacos/core/RoleType.java new file mode 100644 index 0000000..cfb7b6d --- /dev/null +++ b/YACOSCore/ejbModule/org/yacos/core/RoleType.java @@ -0,0 +1,48 @@ +/** + * + */ +package org.yacos.core; + +/** + * @author christiancorsano + * + */ +public class RoleType { + /** + * Author constant role + */ + static public final RoleType author = new RoleType("author"); + /** + * Chairman constant role + */ + static public final RoleType chairman = new RoleType("chairman"); + /** + * PCMember constant role + */ + static public final RoleType PCmember = new RoleType("PCmember"); + /** + * Referee constant role + */ + static public final RoleType Referee = new RoleType("referee"); + + /** + * Name of this role type + */ + private String name; + + /** + * Private constructor : used to instanciate the constants + * @param name Name of the new RoleType + */ + private RoleType(String name){ + this.name = name; + } + + /** + * Return the name of this RoleType + * @return + */ + public String getName() { + return this.name; + } +} diff --git a/YACOSCore/ejbModule/org/yacos/core/User.java b/YACOSCore/ejbModule/org/yacos/core/User.java new file mode 100644 index 0000000..1ef4cfe --- /dev/null +++ b/YACOSCore/ejbModule/org/yacos/core/User.java @@ -0,0 +1,104 @@ +package org.yacos.core; + +import java.util.Set; + +/** + * A unique User of the system. + * The user is registered globally in the application and would be able to get different roles for + * different conferences. + * @author christiancorsano + * + */ +public class User { + /** + * Unique login of the user + * Is used to identify the user, should be unique and can't be modified + */ + private String login; + /** + * Password : used for authentication purpose only, is only writable + */ + private String password; + /** + * First Name of the user + */ + private String firstName; + /** + * Last name of the user + */ + private String lastName; + /** + * Organization or lab the user belongs to + */ + private String organization; + /** + * Active email (has to be used frequently) of the user + */ + private String email; + + public User() { + + } + + public String getLogin() { + return login; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getOrganization() { + return organization; + } + + public void setOrganization(String organization) { + this.organization = organization; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public void addRole(Role role){ + // TODO + } + + public void addRoleForConference(RoleType roleType, Conference conference){ + if(! hasRoleForConference(roleType)){ + + } else { + // TODO : declare and throw an exception + } + } + + public boolean hasRoleForConference(RoleType roleType){ + // TODO + return false; + } + + public Set getRoles(){ + // TODO + return null; + } +} diff --git a/YACOSCore/ejbModule/org/yacos/core/UsersManager.java b/YACOSCore/ejbModule/org/yacos/core/UsersManager.java new file mode 100644 index 0000000..d54c844 --- /dev/null +++ b/YACOSCore/ejbModule/org/yacos/core/UsersManager.java @@ -0,0 +1,33 @@ +/** + * + */ +package org.yacos.core; + +import java.util.Collection; + +/** + * @author christiancorsano + * + */ +public class UsersManager { + public Collection getUsers(){ + // TODO + return null; + } + + /** + * Adds a user into the system + * @param user + */ + public void addUser(User user){ + // TODO + } + + /** + * Removes a user from the system + * @param user + */ + public void removeUser(User user){ + // TODO + } +} diff --git a/YACOSCore/test/org/yacos/tests/core/TestRole.java b/YACOSCore/test/org/yacos/tests/core/TestRole.java new file mode 100644 index 0000000..01c157e --- /dev/null +++ b/YACOSCore/test/org/yacos/tests/core/TestRole.java @@ -0,0 +1,15 @@ +/** + * + */ +package org.yacos.tests.core; + + +/** + * @author christiancorsano + * + */ +public class TestRole { + public void aRoleShouldBeUnique(){ + // TODO : look for roles of the same type, same user and same conference + } +} diff --git a/YACOSCore/test/org/yacos/tests/core/TestUser.java b/YACOSCore/test/org/yacos/tests/core/TestUser.java new file mode 100644 index 0000000..8d5ce98 --- /dev/null +++ b/YACOSCore/test/org/yacos/tests/core/TestUser.java @@ -0,0 +1,7 @@ +package org.yacos.tests.core; + +import static org.junit.Assert.*; + +public class TestUser { + +}