Class ReportGenerator
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.xml.AbstractXMLProducer
org.apache.cocoon.generation.AbstractGenerator
org.apache.cocoon.generation.ServiceableGenerator
org.ametys.plugins.workspaces.report.ReportGenerator
- All Implemented Interfaces:
Poolable
,Recyclable
,Disposable
,Component
,Contextualizable
,LogEnabled
,Serviceable
,Generator
,SitemapModelComponent
,XMLProducer
Report projects with theirs managers/users
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final SimpleDateFormat
DateTime formatterprotected static final String
Time format for csv exportprotected static final int
number of columns for a memberprotected static final int
number of columns for a projectprotected static final DateTimeFormatter
Zoned dateTime formatterprotected Context
Avalon contextprotected GroupManager
Group Managerprotected I18nUtils
I18n Utilsprotected KeywordsDAO
The keywords DAOprotected ProjectManager
The project managerprotected ProjectMemberManager
Project Member Managerprotected ReportHelper
Report Project Managerprotected Repository
Repositoryprotected SiteManager
Site managerprotected UserDirectoryHelper
User Directory Helperprotected UserManager
User ManagerFields inherited from class org.apache.cocoon.generation.ServiceableGenerator
manager
Fields inherited from class org.apache.cocoon.generation.AbstractGenerator
objectModel, parameters, resolver, source
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
contextualize
(Context context) protected org.ametys.plugins.workspaces.report.ReportGenerator.ProjectMember
createProjectMemberFromUser
(UserIdentity userIdentity, String lang, List<String> projectLanguages) Get aReportGenerator.ProjectMember
from a userprotected static String
formatToCsv
(String... line) Format a String to csvvoid
generate()
protected String
generateProjects
(List<Project> projects, boolean reportWithMembers, boolean reportWithManagers, String lang) Generate the list of projectsGet the languages of the catalog siteprotected String
getKeywords
(Project project, String lang) Get the project's keywordsprotected String
getProjectCsvHeader
(boolean reportWithMembers, boolean reportWithManagers, String lang) Generate the header for projectsprotected String
getProjectLastActivityDate
(Project project) Get the last activity date of the projectgetProjectMembersCsv
(Project project, String lang, List<String> languages) Get the csv for membersvoid
service
(ServiceManager smanager) protected String
translateKey
(String key, String lang) Small shortcut to translate a keyMethods inherited from class org.apache.cocoon.generation.ServiceableGenerator
dispose
Methods inherited from class org.apache.cocoon.generation.AbstractGenerator
recycle, setup
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
setConsumer, setContentHandler, setLexicalHandler
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.cocoon.xml.XMLProducer
setConsumer
-
Field Details
-
__DATE_TIME_FORMAT
Time format for csv export- See Also:
-
__ZONED_DATE_FORMATER
Zoned dateTime formatter -
__DATE_FORMATER
DateTime formatter -
__REPORT_COLUMNS_SIZE_PROJECT
number of columns for a project- See Also:
-
__REPORT_COLUMNS_SIZE_MEMBER
number of columns for a member- See Also:
-
_reportProjectManager
Report Project Manager -
_projectManager
The project manager -
_siteManager
Site manager -
_repository
Repository -
_userManager
User Manager -
_groupManager
Group Manager -
_projectMemberManager
Project Member Manager -
_userDirectoryHelper
User Directory Helper -
_i18nUtils
I18n Utils -
_keywordsDAO
The keywords DAO -
_context
Avalon context
-
-
Constructor Details
-
ReportGenerator
public ReportGenerator()
-
-
Method Details
-
contextualize
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
service
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classServiceableGenerator
- Throws:
ServiceException
-
generate
- Specified by:
generate
in interfaceGenerator
- Throws:
IOException
SAXException
ProcessingException
-
generateProjects
protected String generateProjects(List<Project> projects, boolean reportWithMembers, boolean reportWithManagers, String lang) Generate the list of projects- Parameters:
projects
- list of projects to generatereportWithMembers
- also report membersreportWithManagers
- also report managerslang
- language used to parse agents (if not available, another langage will still be used)- Returns:
- A String that will represent the csv
-
getCatalogSiteLangages
Get the languages of the catalog site- Returns:
- the list of catalog site languages
-
formatToCsv
Format a String to csv- Parameters:
line
- strings to transform- Returns:
- a string representing the input strings
-
getProjectCsvHeader
protected String getProjectCsvHeader(boolean reportWithMembers, boolean reportWithManagers, String lang) Generate the header for projects- Parameters:
reportWithMembers
- also report membersreportWithManagers
- also report managerslang
- language to use to create header- Returns:
- a String representing the csv header
-
getKeywords
Get the project's keywords- Parameters:
project
- the projectlang
- the current language- Returns:
- the keywords as label
-
getProjectLastActivityDate
Get the last activity date of the project- Parameters:
project
- project to analyze- Returns:
- a formatted date
-
createProjectMemberFromUser
protected org.ametys.plugins.workspaces.report.ReportGenerator.ProjectMember createProjectMemberFromUser(UserIdentity userIdentity, String lang, List<String> projectLanguages) Get aReportGenerator.ProjectMember
from a user- Parameters:
userIdentity
- userlang
- language to use to parse userprojectLanguages
- languages of the catalog site- Returns:
- the user as a
ReportGenerator.ProjectMember
-
getProjectMembersCsv
Get the csv for members- Parameters:
project
- project to uselang
- language to use to parse userlanguages
- languages of the catalog site- Returns:
- users as csv
-
translateKey
Small shortcut to translate a key- Parameters:
key
- i18n keylang
- requested language- Returns:
- the translated key
-