org.hackystat.projectbrowser.page.projects
Class ProjectsModel

java.lang.Object
  extended by org.hackystat.projectbrowser.page.projects.ProjectsModel
All Implemented Interfaces:
java.io.Serializable, org.apache.wicket.IClusterable

public class ProjectsModel
extends java.lang.Object
implements java.io.Serializable, org.apache.wicket.IClusterable

Provides a model for the management of projects.

Author:
Philip Johnson., Randy Cox.
See Also:
Serialized Form

Constructor Summary
ProjectsModel()
          The default constructor, required by Wicket.
ProjectsModel(org.hackystat.sensorbase.resource.projects.jaxb.Project selectedProject)
          The sets user selected project.
 
Method Summary
 void addPropUriRow()
          Add one row to bottom of Properties and URI pattern rows.
 java.lang.String buildMembersStr(java.util.List<java.lang.String> members, java.lang.String delimitor)
          Get the project members in comma delimited form.
 void createProject()
          Create an empty project with all strings allocated.
 int getExtraPropertyUriRows()
          Get the amount of blank lines to set under populated properties/uris.
 java.lang.String getFeedback()
          Gets current feedback string.
 java.util.List<java.lang.String> getMemberSelection()
          Return the members selected from multiple list choice control.
 org.hackystat.sensorbase.resource.projects.jaxb.Project getProject()
          Return the Project for this page.
 java.util.List<java.lang.String> getProjectConsolidatedMembers()
          Get string representation of project members.
 java.lang.String getProjectConsolidatedMembersStr()
          Get string representation of project members.
 java.lang.String getProjectDesc()
          Get project description.
 java.util.Date getProjectEndDate()
          Get start date, convert from project.startTime.
 java.util.List<java.lang.String> getProjectInvitations()
          Get the project invitations.
 java.lang.String getProjectInvitationsStr()
          Get the project invitations in comma delimited form.
 java.lang.String getProjectMemberHelp()
          Set help note for project members, display when no members present.
 java.util.List<java.lang.String> getProjectMembers()
          Get the project members.
 java.lang.String getProjectMembersStr()
          Get the project members in comma delimited form.
 java.lang.String getProjectName()
          Get the name of current project.
 java.lang.String getProjectOwner()
          Return project owner, bold if owner is current user.
 java.lang.String getProjectOwnerBold()
          Return project owner, bold if owner is current user.
 java.util.List<org.hackystat.sensorbase.resource.projects.jaxb.Property> getProjectProperties()
          Get the project properties.
 java.lang.String getProjectPropertiesStr()
          Get project properties with = signs.
 java.lang.String getProjectRename()
          Get name to rename project with.
 java.util.List<org.hackystat.sensorbase.resource.projects.jaxb.Project> getProjects()
          Returns the list of projects.
 java.lang.String getProjectSpan()
          Get project span: start and end date in one string.
 java.util.List<java.lang.String> getProjectSpectators()
          Get the project spectators.
 java.lang.String getProjectSpectatorsStr()
          Get the project spectators in comma delimited form.
 java.util.Date getProjectStartDate()
          Get start date, convert from project.startTime.
 java.lang.String getProjectStr()
          Gets string representation of data.
 java.lang.String getProjectUriCommaStr()
          Get the project URIs in comma delimited form.
 java.util.List<java.lang.String> getProjectUriPatterns()
          Get the project UriPatterns.
 java.lang.String getProjectUriPatternsStr()
          Get string representation of URL patterns.
 java.util.List<PropUriRowModel> getPropUriRowsView()
          Get the list of properties and uris at bottom of edit form.
 boolean isClearCacheable()
          True if project's cache can be cleared.
 boolean isDeletable()
          True if project can be deleted.
 boolean isEditable()
          True if project can be edited.
 boolean isEmpty()
          True if this model contains no data.
 boolean isLeavable()
          True if project can be left.
 boolean isRenameable()
          True if project can be renamed.
 boolean isRepliable()
          True if you have an invitation to this project.
 boolean isSemanticCheckOk()
          Semantic check of project.
 void loadPropUriRowsView()
          Load propertyUriRows from project data.
 java.util.List<java.lang.String> parseMembersStr(java.lang.String membersStr)
          Parse the project members in comma delimited form into a collection.
 java.lang.String removeBold(java.lang.String string)
          Parses string and adds bold to any sub-string that matches the current user email.
 void removeMembers(java.util.List<java.lang.String> members)
          Remove members for project.
 void savePropUriRowsSave()
          Save data from property rows into the project object.
 void setExtraPropertyUriRows(int extraPropertyUriRows)
          Set the amount of blank lines to set under populated properties/uris.
 void setFeedback(java.lang.String feedback)
          Sets the feedback string.
 void setMemberSelection(java.util.List<java.lang.String> memberSelection)
          Sets the members selected from the multiple list choice control.
 void setProject(org.hackystat.sensorbase.resource.projects.jaxb.Project project)
          Updates the ProjectsModel with the project summary instance.
 void setProjectDesc(java.lang.String desc)
          Set project description.
 void setProjectEndDate(java.util.Date newDate)
          Set end date, convert to project.startTime.
 void setProjectInvitations(java.util.List<java.lang.String> members)
          Set the project invitations.
 void setProjectInvitationsStr(java.lang.String memberStr)
          Set the project invitations from the comma delimited member string.
 void setProjectMembers(java.util.List<java.lang.String> members)
          Set the project members.
 void setProjectMembersStr(java.lang.String memberStr)
          Set the project members from the comma delimited member string.
 void setProjectName(java.lang.String name)
          Set the name of the current project.
 void setProjectOwner(java.lang.String owner)
          Set project owner.
 void setProjectProperties(java.util.List<org.hackystat.sensorbase.resource.projects.jaxb.Property> items)
          Set the project properties.
 void setProjectRename(java.lang.String projectRename)
          Set name to rename project with.
 void setProjects(java.util.List<org.hackystat.sensorbase.resource.projects.jaxb.Project> projects)
          Sets the projects.
 void setProjectSpectators(java.util.List<java.lang.String> members)
          Set the project invitations.
 void setProjectSpectatorsStr(java.lang.String memberStr)
          Set the project spectators from the comma delimited member string.
 void setProjectStartDate(java.util.Date newDate)
          Set start date, convert to project.startTime.
 void setProjectUriPatterns(java.util.List<java.lang.String> items)
          Set the project UriPatterns.
 void setPropUriRowsView(java.util.List<PropUriRowModel> propertyUriRows)
          Set the list of properties and uris at bottom of edit form.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProjectsModel

public ProjectsModel()
The default constructor, required by Wicket.


ProjectsModel

public ProjectsModel(org.hackystat.sensorbase.resource.projects.jaxb.Project selectedProject)
The sets user selected project.

Parameters:
selectedProject - User selected project.
Method Detail

getProjects

public java.util.List<org.hackystat.sensorbase.resource.projects.jaxb.Project> getProjects()
Returns the list of projects.

Returns:
The list of projects.

setProjects

public void setProjects(java.util.List<org.hackystat.sensorbase.resource.projects.jaxb.Project> projects)
Sets the projects.

Parameters:
projects - The projects.

getProject

public org.hackystat.sensorbase.resource.projects.jaxb.Project getProject()
Return the Project for this page.

Returns:
The project.

setProject

public final void setProject(org.hackystat.sensorbase.resource.projects.jaxb.Project project)
Updates the ProjectsModel with the project summary instance.

Parameters:
project - The project for this summary.

createProject

public final void createProject()
Create an empty project with all strings allocated.


getProjectStr

public java.lang.String getProjectStr()
Gets string representation of data.

Returns:
String of project information.

getProjectName

public java.lang.String getProjectName()
Get the name of current project.

Returns:
current project

setProjectName

public void setProjectName(java.lang.String name)
Set the name of the current project.

Parameters:
name - of project.

removeBold

public java.lang.String removeBold(java.lang.String string)
Parses string and adds bold to any sub-string that matches the current user email.

Parameters:
string - String to parse for user email
Returns:
String with all user email sub-string in bold.

getProjectOwner

public java.lang.String getProjectOwner()
Return project owner, bold if owner is current user.

Returns:
project owner.

getProjectOwnerBold

public java.lang.String getProjectOwnerBold()
Return project owner, bold if owner is current user.

Returns:
project owner.

setProjectOwner

public void setProjectOwner(java.lang.String owner)
Set project owner.

Parameters:
owner - Project owner

getProjectStartDate

public java.util.Date getProjectStartDate()
Get start date, convert from project.startTime.

Returns:
project start date in GregorianCalendar date format.

setProjectStartDate

public void setProjectStartDate(java.util.Date newDate)
Set start date, convert to project.startTime.

Parameters:
newDate - start date in GregorianCalendar date format.

getProjectEndDate

public java.util.Date getProjectEndDate()
Get start date, convert from project.startTime.

Returns:
project start date in GregorianCalendar date format.

setProjectEndDate

public void setProjectEndDate(java.util.Date newDate)
Set end date, convert to project.startTime.

Parameters:
newDate - project end date in GregorianCalendar date format.

getProjectSpan

public java.lang.String getProjectSpan()
Get project span: start and end date in one string.

Returns:
project date span

getProjectDesc

public java.lang.String getProjectDesc()
Get project description.

Returns:
project description.

setProjectDesc

public void setProjectDesc(java.lang.String desc)
Set project description.

Parameters:
desc - project description.

buildMembersStr

public java.lang.String buildMembersStr(java.util.List<java.lang.String> members,
                                        java.lang.String delimitor)
Get the project members in comma delimited form.

Parameters:
members - collection of members to build string with.
delimitor - to add between members.
Returns:
List of project members in comma delimited form.

parseMembersStr

public java.util.List<java.lang.String> parseMembersStr(java.lang.String membersStr)
Parse the project members in comma delimited form into a collection.

Parameters:
membersStr - string to parse
Returns:
List of project members in comma delimited form.

removeMembers

public void removeMembers(java.util.List<java.lang.String> members)
Remove members for project.

Parameters:
members - List of project members to remove.

getProjectMembers

public java.util.List<java.lang.String> getProjectMembers()
Get the project members.

Returns:
List of project members.

setProjectMembers

public void setProjectMembers(java.util.List<java.lang.String> members)
Set the project members.

Parameters:
members - list of project members.

getProjectMembersStr

public java.lang.String getProjectMembersStr()
Get the project members in comma delimited form.

Returns:
List of project members in comma delimited form.

setProjectMembersStr

public void setProjectMembersStr(java.lang.String memberStr)
Set the project members from the comma delimited member string.

Parameters:
memberStr - comma delimited member string to parse.

getProjectMemberHelp

public java.lang.String getProjectMemberHelp()
Set help note for project members, display when no members present.

Returns:
help string

getProjectInvitations

public java.util.List<java.lang.String> getProjectInvitations()
Get the project invitations.

Returns:
Invitations.

setProjectInvitations

public void setProjectInvitations(java.util.List<java.lang.String> members)
Set the project invitations.

Parameters:
members - list of project invitations.

getProjectInvitationsStr

public java.lang.String getProjectInvitationsStr()
Get the project invitations in comma delimited form.

Returns:
List of project invitations in comma delimited form.

setProjectInvitationsStr

public void setProjectInvitationsStr(java.lang.String memberStr)
Set the project invitations from the comma delimited member string.

Parameters:
memberStr - comma delimited invitation string to parse.

getProjectSpectators

public java.util.List<java.lang.String> getProjectSpectators()
Get the project spectators.

Returns:
Spectators.

setProjectSpectators

public void setProjectSpectators(java.util.List<java.lang.String> members)
Set the project invitations.

Parameters:
members - list of project invitations.

getProjectSpectatorsStr

public java.lang.String getProjectSpectatorsStr()
Get the project spectators in comma delimited form.

Returns:
List of project spectators in comma delimited form.

setProjectSpectatorsStr

public void setProjectSpectatorsStr(java.lang.String memberStr)
Set the project spectators from the comma delimited member string.

Parameters:
memberStr - comma delimited spectator string to parse.

getProjectConsolidatedMembersStr

public java.lang.String getProjectConsolidatedMembersStr()
Get string representation of project members.

Returns:
String representation of project members, comma delimited.

getProjectConsolidatedMembers

public java.util.List<java.lang.String> getProjectConsolidatedMembers()
Get string representation of project members.

Returns:
List representation of project members, invitees and spectators.

getProjectProperties

public java.util.List<org.hackystat.sensorbase.resource.projects.jaxb.Property> getProjectProperties()
Get the project properties.

Returns:
list of properties.

setProjectProperties

public void setProjectProperties(java.util.List<org.hackystat.sensorbase.resource.projects.jaxb.Property> items)
Set the project properties.

Parameters:
items - list of project properties.

getProjectPropertiesStr

public java.lang.String getProjectPropertiesStr()
Get project properties with = signs.

Returns:
string of properties with equal signs.

getProjectUriPatterns

public java.util.List<java.lang.String> getProjectUriPatterns()
Get the project UriPatterns.

Returns:
UriPattern.

setProjectUriPatterns

public void setProjectUriPatterns(java.util.List<java.lang.String> items)
Set the project UriPatterns.

Parameters:
items - Uri patterns to update.

getProjectUriPatternsStr

public java.lang.String getProjectUriPatternsStr()
Get string representation of URL patterns.

Returns:
String representation of project URI patterns.

getProjectUriCommaStr

public java.lang.String getProjectUriCommaStr()
Get the project URIs in comma delimited form.

Returns:
List of project URIs in comma delimited form.

getMemberSelection

public java.util.List<java.lang.String> getMemberSelection()
Return the members selected from multiple list choice control.

Returns:
set of members selected.

setMemberSelection

public void setMemberSelection(java.util.List<java.lang.String> memberSelection)
Sets the members selected from the multiple list choice control.

Parameters:
memberSelection - list of members in selection list

isEmpty

public boolean isEmpty()
True if this model contains no data.

Returns:
True if this model has no data.

isEditable

public boolean isEditable()
True if project can be edited.

Returns:
True if project can be edited

isRenameable

public boolean isRenameable()
True if project can be renamed.

Returns:
True if project can be renamed

isDeletable

public boolean isDeletable()
True if project can be deleted.

Returns:
True if project can be deleted.

isLeavable

public boolean isLeavable()
True if project can be left.

Returns:
True if project can be left.

isRepliable

public boolean isRepliable()
True if you have an invitation to this project.

Returns:
True if project can be left.

isClearCacheable

public boolean isClearCacheable()
True if project's cache can be cleared.

Returns:
True if project's cache can be cleared.

getFeedback

public java.lang.String getFeedback()
Gets current feedback string.

Returns:
the feedback

setFeedback

public void setFeedback(java.lang.String feedback)
Sets the feedback string.

Parameters:
feedback - the feedback to set

getPropUriRowsView

public java.util.List<PropUriRowModel> getPropUriRowsView()
Get the list of properties and uris at bottom of edit form.

Returns:
the propertyUriRows

setPropUriRowsView

public void setPropUriRowsView(java.util.List<PropUriRowModel> propertyUriRows)
Set the list of properties and uris at bottom of edit form.

Parameters:
propertyUriRows - the propertyUriRows to set

loadPropUriRowsView

public void loadPropUriRowsView()
Load propertyUriRows from project data.


savePropUriRowsSave

public void savePropUriRowsSave()
Save data from property rows into the project object.


addPropUriRow

public void addPropUriRow()
Add one row to bottom of Properties and URI pattern rows.


getExtraPropertyUriRows

public int getExtraPropertyUriRows()
Get the amount of blank lines to set under populated properties/uris.

Returns:
the extraPropertyUriRows

setExtraPropertyUriRows

public void setExtraPropertyUriRows(int extraPropertyUriRows)
Set the amount of blank lines to set under populated properties/uris.

Parameters:
extraPropertyUriRows - the extraPropertyUriRows to set

getProjectRename

public java.lang.String getProjectRename()
Get name to rename project with.

Returns:
the projectRename

setProjectRename

public void setProjectRename(java.lang.String projectRename)
Set name to rename project with.

Parameters:
projectRename - the projectRename to set

isSemanticCheckOk

public boolean isSemanticCheckOk()
Semantic check of project.

Returns:
true is semantic check passes.