package com.constellio.app.ui.application; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import com.constellio.app.modules.rm.ui.pages.decommissioning.OrderDecommissioningListViewImpl; import com.constellio.app.modules.rm.ui.pages.systemCheck.SystemCheckViewImpl; import com.constellio.app.ui.pages.base.BaseViewImpl; import com.constellio.app.ui.pages.batchprocess.ListBatchProcessesViewImpl; import com.constellio.app.ui.pages.collection.CollectionGroupRolesViewImpl; import com.constellio.app.ui.pages.collection.CollectionGroupViewImpl; import com.constellio.app.ui.pages.collection.CollectionUserRolesViewImpl; import com.constellio.app.ui.pages.collection.CollectionUserViewImpl; import com.constellio.app.ui.pages.collection.ListCollectionUserViewImpl; import com.constellio.app.ui.pages.events.BaseEventCategoryViewImpl; import com.constellio.app.ui.pages.events.EventCategoriesViewImpl; import com.constellio.app.ui.pages.events.EventViewImpl; import com.constellio.app.ui.pages.globalGroup.AddEditGlobalGroupViewImpl; import com.constellio.app.ui.pages.globalGroup.DisplayGlobalGroupViewImpl; import com.constellio.app.ui.pages.globalGroup.ListGlobalGroupsViewImpl; import com.constellio.app.ui.pages.home.HomeViewImpl; import com.constellio.app.ui.pages.imports.ExportViewImpl; import com.constellio.app.ui.pages.imports.ImportFileViewImpl; import com.constellio.app.ui.pages.imports.ImportGroupsFileViewImpl; import com.constellio.app.ui.pages.imports.ImportSchemaTypesFileViewImpl; import com.constellio.app.ui.pages.imports.ImportUsersFileViewImpl; import com.constellio.app.ui.pages.imports.authorization.ImportAuthorizationsFileViewImpl; import com.constellio.app.ui.pages.imports.settings.ImportSettingsViewImpl; import com.constellio.app.ui.pages.management.AdminViewImpl; import com.constellio.app.ui.pages.management.app.AppManagementView; import com.constellio.app.ui.pages.management.authorizations.ListContentAccessAuthorizationsViewImpl; import com.constellio.app.ui.pages.management.authorizations.ListContentRoleAuthorizationsViewImpl; import com.constellio.app.ui.pages.management.authorizations.ListPrincipalAccessAuthorizationsViewImpl; import com.constellio.app.ui.pages.management.authorizations.ShareContentViewImpl; import com.constellio.app.ui.pages.management.collections.AddEditCollectionViewImpl; import com.constellio.app.ui.pages.management.collections.CollectionManagementViewImpl; import com.constellio.app.ui.pages.management.configs.ConfigManagementViewImpl; import com.constellio.app.ui.pages.management.email.EmailServerConfigViewImpl; import com.constellio.app.ui.pages.management.extractors.AddEditMetadataExtractorViewImpl; import com.constellio.app.ui.pages.management.extractors.ListMetadataExtractorsViewImpl; import com.constellio.app.ui.pages.management.facet.AddEditFacetConfigurationViewImpl; import com.constellio.app.ui.pages.management.facet.DisplayFacetConfigurationViewImpl; import com.constellio.app.ui.pages.management.facet.ListFacetConfigurationViewImpl; import com.constellio.app.ui.pages.management.facet.OrderFacetConfigurationViewImpl; import com.constellio.app.ui.pages.management.labels.AddEditLabelViewImpl; import com.constellio.app.ui.pages.management.labels.LabelViewImpl; import com.constellio.app.ui.pages.management.labels.ListLabelViewImpl; import com.constellio.app.ui.pages.management.labels.ReportConfigViewImpl; import com.constellio.app.ui.pages.management.ldap.LDAPConfigManagementViewImpl; import com.constellio.app.ui.pages.management.permissions.PermissionsManagementViewImpl; import com.constellio.app.ui.pages.management.plugin.PluginManagementViewImpl; import com.constellio.app.ui.pages.management.reindexation.ForcedReindexViewImpl; import com.constellio.app.ui.pages.management.schemaRecords.AddEditSchemaRecordViewImpl; import com.constellio.app.ui.pages.management.schemaRecords.DisplaySchemaRecordViewImpl; import com.constellio.app.ui.pages.management.schemaRecords.ListSchemaRecordsViewImpl; import com.constellio.app.ui.pages.management.schemaRecords.SearchSchemaRecordsViewImpl; import com.constellio.app.ui.pages.management.schemas.ListSchemaTypeViewImpl; import com.constellio.app.ui.pages.management.schemas.display.display.DisplayConfigViewImpl; import com.constellio.app.ui.pages.management.schemas.display.form.FormDisplayConfigViewImpl; import com.constellio.app.ui.pages.management.schemas.display.group.ListMetadataGroupSchemaTypeViewImpl; import com.constellio.app.ui.pages.management.schemas.display.report.ReportConfigurationViewImpl; import com.constellio.app.ui.pages.management.schemas.display.search.SearchDisplayConfigViewImpl; import com.constellio.app.ui.pages.management.schemas.display.table.TableDisplayConfigViewImpl; import com.constellio.app.ui.pages.management.schemas.metadata.AddEditMetadataViewImpl; import com.constellio.app.ui.pages.management.schemas.schema.AddEditSchemaMetadataViewImpl; import com.constellio.app.ui.pages.management.schemas.schema.AddEditSchemaViewImpl; import com.constellio.app.ui.pages.management.schemas.type.ListSchemaViewImpl; import com.constellio.app.ui.pages.management.taxonomy.AddEditTaxonomyConceptViewImpl; import com.constellio.app.ui.pages.management.taxonomy.AddEditTaxonomyViewImpl; import com.constellio.app.ui.pages.management.taxonomy.ListTaxonomyViewImpl; import com.constellio.app.ui.pages.management.taxonomy.TaxonomyManagementSearchViewImpl; import com.constellio.app.ui.pages.management.taxonomy.TaxonomyManagementViewImpl; import com.constellio.app.ui.pages.management.updates.UpdateManagerViewImpl; import com.constellio.app.ui.pages.management.valueDomains.ListValueDomainViewImpl; import com.constellio.app.ui.pages.profile.ModifyProfileViewImpl; import com.constellio.app.ui.pages.search.AdvancedSearchViewImpl; import com.constellio.app.ui.pages.search.SearchBoostByMetadataViewImpl; import com.constellio.app.ui.pages.search.SearchBoostByQueryViewImpl; import com.constellio.app.ui.pages.search.SimpleSearchViewImpl; import com.constellio.app.ui.pages.search.savedSearch.SavedSearchViewImpl; import com.constellio.app.ui.pages.trash.TrashViewImpl; import com.constellio.app.ui.pages.user.AddEditUserCredentialViewImpl; import com.constellio.app.ui.pages.user.DisplayUserCredentialViewImpl; import com.constellio.app.ui.pages.user.ListUsersCredentialsViewImpl; import com.vaadin.navigator.Navigator; import com.vaadin.navigator.Navigator.ClassBasedViewProvider; import com.vaadin.navigator.ViewProvider; public class NavigatorConfigurationService implements Serializable { public static final String HOME = ""; public static final String APP_MANAGEMENT = "appManagement"; public static final String SIMPLE_SEARCH = "search"; public static final String ADVANCED_SEARCH = "advancedSearch"; public static final String LIST_TAXONOMY = "taxonomies"; public static final String TAXONOMY_ADD_EDIT = "taxonomyAddEdit"; public static final String TAXONOMY_MANAGEMENT = "taxonomyManagement"; public static final String TAXONOMY_CONCEPT_ADD_EDIT = "taxonomyConceptAddEdit"; public static final String LIST_VALUE_DOMAINS = "valueDomains"; public static final String SEARCH_SCHEMA_RECORDS = "searchSchemaRecords"; public static final String GROUP_LIST = "groupList"; public static final String GROUP_ADD_EDIT = "groupAddEdit"; public static final String COLLECTION_ADD_EDIT = "collectionAddEdit"; public static final String GROUP_DISPLAY = "groupDisplay"; public static final String USER_LIST = "userList"; public static final String USER_ADD_EDIT = "userAddEdit"; public static final String EVENTS_LIST = "eventsList"; public static final String EVENT_CATEGORY = "eventCategory"; public static final String EVENT_DISPLAY = "eventDisplay"; public static final String ADD_EDIT_SCHEMA_RECORD = "addSchemaRecord"; public static final String DISPLAY_SCHEMA_RECORD = "displaySchemaRecord"; public static final String LIST_SCHEMA_RECORDS = "listSchemaRecords"; public static final String USER_DISPLAY = "userDisplay"; public static final String LIST_PRINCIPAL_ACCESS_AUTHORIZATIONS = "principalAccessAuthorizations"; public static final String LIST_OBJECT_ACCESS_AUTHORIZATIONS = "objectAccessAuthorizations"; public static final String LIST_OBJECT_ROLE_AUTHORIZATIONS = "objectRoleAuthorizations"; public static final String SHARE_CONTENT = "shareContent"; public static final String ADMIN_MODULE = "adminModule"; public static final String TRASH = "trash"; public static final String COLLECTION_USER_LIST = "collectionSecurity"; public static final String COLLECTION_USER = "collectionUser"; public static final String COLLECTION_USER_ROLES = "collectionUserRoles"; public static final String COLLECTION_GROUP = "collectionGroup"; public static final String COLLECTION_GROUP_ROLES = "collectionGroupRoles"; public static final String CONFIG_MANAGEMENT = "configManagement"; public static final String PLUGIN_MANAGEMENT = "pluginManagement"; public static final String EMAIL_SERVER_MANAGEMENT = "emailServerManagement"; public static final String DISPLAY_SCHEMA_TYPE = "displaySchemaType"; public static final String DISPLAY_SCHEMA = "displaySchema"; public static final String ADD_EDIT_SCHEMA = "editSchema"; public static final String ADD_EDIT_METADATA = "editMetadata"; public static final String ADD_EDIT_SCHEMA_METADATA = "editSchemaMetadata"; public static final String LIST_METADATA_GROUP = "listMetadataGroup"; public static final String RECORDS_MANAGEMENT = "recordsManagement"; public static final String EDIT_DISPLAY_FORM = "displayForm"; public static final String SEARCH_DISPLAY_FORM = "searchDisplayForm"; public static final String TABLE_DISPLAY_FORM = "tableDisplayForm"; public static final String FORM_DISPLAY_FORM = "formDisplayForm"; public static final String PERMISSION_MANAGEMENT = "permissionManagement"; public static final String COLLECTION_MANAGEMENT = "listCollections"; public static final String LIST_ONGLET = "listOnglet"; public static final String MODIFY_PROFILE = "modifyProfile"; public static final String UPDATE_MANAGER = "updateManager"; public static final String LDAP_CONFIG_MANAGEMENT = "ldapConfigManagement"; public static final String IMPORT_FILE = "importRecords"; public static final String IMPORT_USERS = "importUsers"; public static final String IMPORT_AUTHORIZATIONS = "importAuthorizations"; public static final String IMPORT_GROUPS = "importGroups"; public static final String IMPORT_SCHEMA_TYPES = "importSchemaTypes"; public static final String IMPORT_SETTINGS = "importSettings"; public static final String EXPORTER = "export"; public static final String REPORT_DISPLAY_FORM = "reportDisplayForm"; public static final String LIST_SAVED_SEARCHES = "listSavedSearches"; public static final String SEARCH_BOOST_BY_METADATAS = "searchBoostByMetadatas"; public static final String SEARCH_BOOST_BY_QUERYS = "searchBoostByQuery"; public static final String FORCED_REINDEX = "reindex"; public static final String LABEL_CONFIG = "labelConfig"; public static final String LABEL_AJOUT = "addLabel"; public static final String LABEL_VIEW = "viewLabel"; public static final String REPORT_VIEW = "viewReport"; public static final String ADD_FACET_CONFIGURATION = "addFacetConfiguration"; public static final String EDIT_FACET_CONFIGURATION = "editFacetConfiguration"; public static final String LIST_FACET_CONFIGURATION = "listFacetConfiguration"; public static final String DISPLAY_FACET_CONFIGURATION = "displayFacetConfiguration"; public static final String ORDER_FACET_CONFIGURATION = "orderFacetConfiguration"; public static final String ORDER_DECOMMISSIONING_LIST_CONFIGURATION = "orderDecommissioningList"; public static final String LIST_METADATA_EXTRACTORS = "listMetadataExtractors"; public static final String ADD_METADATA_EXTRACTOR = "addMetadataExtractor"; public static final String EDIT_METADATA_EXTRACTOR = "editMetadataExtractor"; public static final String TAXONOMY_SEARCH = "taxonomySearch"; public static final String SYSTEM_CHECK = "systemCheck"; public static final String LIST_BATCH_PROCESSES = "batchProcesses"; private List<ViewProvider> viewProviders = new ArrayList<>(); public NavigatorConfigurationService() { viewProviders.add(new ClassBasedViewProvider(SIMPLE_SEARCH, SimpleSearchViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(ADVANCED_SEARCH, AdvancedSearchViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(HOME, HomeViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(APP_MANAGEMENT, AppManagementView.class)); viewProviders.add(new ClassBasedViewProvider(TAXONOMY_MANAGEMENT, TaxonomyManagementViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(TAXONOMY_CONCEPT_ADD_EDIT, AddEditTaxonomyConceptViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(GROUP_LIST, ListGlobalGroupsViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(GROUP_ADD_EDIT, AddEditGlobalGroupViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(GROUP_DISPLAY, DisplayGlobalGroupViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(USER_ADD_EDIT, AddEditUserCredentialViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(USER_DISPLAY, DisplayUserCredentialViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(USER_LIST, ListUsersCredentialsViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(ADD_EDIT_SCHEMA_RECORD, AddEditSchemaRecordViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(DISPLAY_SCHEMA_RECORD, DisplaySchemaRecordViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_SCHEMA_RECORDS, ListSchemaRecordsViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(DISPLAY_SCHEMA_TYPE, ListSchemaTypeViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(DISPLAY_SCHEMA, ListSchemaViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(ADD_EDIT_SCHEMA, AddEditSchemaViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(ADD_EDIT_METADATA, AddEditMetadataViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(ADD_EDIT_SCHEMA_METADATA, AddEditSchemaMetadataViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(CONFIG_MANAGEMENT, ConfigManagementViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(PLUGIN_MANAGEMENT, PluginManagementViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LDAP_CONFIG_MANAGEMENT, LDAPConfigManagementViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(EDIT_DISPLAY_FORM, DisplayConfigViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(SEARCH_DISPLAY_FORM, SearchDisplayConfigViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(TABLE_DISPLAY_FORM, TableDisplayConfigViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(FORM_DISPLAY_FORM, FormDisplayConfigViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_PRINCIPAL_ACCESS_AUTHORIZATIONS, ListPrincipalAccessAuthorizationsViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_OBJECT_ACCESS_AUTHORIZATIONS, ListContentAccessAuthorizationsViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_OBJECT_ROLE_AUTHORIZATIONS, ListContentRoleAuthorizationsViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(SHARE_CONTENT, ShareContentViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(COLLECTION_USER_LIST, ListCollectionUserViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(COLLECTION_USER, CollectionUserViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(COLLECTION_USER_ROLES, CollectionUserRolesViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(COLLECTION_GROUP, CollectionGroupViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(COLLECTION_GROUP_ROLES, CollectionGroupRolesViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_VALUE_DOMAINS, ListValueDomainViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(SEARCH_SCHEMA_RECORDS, SearchSchemaRecordsViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_TAXONOMY, ListTaxonomyViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(TAXONOMY_ADD_EDIT, AddEditTaxonomyViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(PERMISSION_MANAGEMENT, PermissionsManagementViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(EXPORTER, ExportViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(REPORT_DISPLAY_FORM, ReportConfigurationViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(EMAIL_SERVER_MANAGEMENT, EmailServerConfigViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(TAXONOMY_SEARCH, TaxonomyManagementSearchViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(FORCED_REINDEX, ForcedReindexViewImpl.class)); // TODO Use generic system to configure viewProviders.add(new ClassBasedViewProvider(ADMIN_MODULE, AdminViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(TRASH, TrashViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(EVENTS_LIST, EventCategoriesViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(EVENT_CATEGORY, BaseEventCategoryViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(EVENT_DISPLAY, EventViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_METADATA_GROUP, ListMetadataGroupSchemaTypeViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_ONGLET, ListMetadataGroupSchemaTypeViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(RECORDS_MANAGEMENT, HomeViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(IMPORT_FILE, ImportFileViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(IMPORT_USERS, ImportUsersFileViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(IMPORT_SCHEMA_TYPES, ImportSchemaTypesFileViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(IMPORT_AUTHORIZATIONS, ImportAuthorizationsFileViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(IMPORT_GROUPS, ImportGroupsFileViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(IMPORT_SETTINGS, ImportSettingsViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(COLLECTION_MANAGEMENT, CollectionManagementViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(COLLECTION_ADD_EDIT, AddEditCollectionViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(MODIFY_PROFILE, ModifyProfileViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(UPDATE_MANAGER, UpdateManagerViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_SAVED_SEARCHES, SavedSearchViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(ADD_FACET_CONFIGURATION, AddEditFacetConfigurationViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(EDIT_FACET_CONFIGURATION, AddEditFacetConfigurationViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_FACET_CONFIGURATION, ListFacetConfigurationViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(DISPLAY_FACET_CONFIGURATION, DisplayFacetConfigurationViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(ORDER_FACET_CONFIGURATION, OrderFacetConfigurationViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_METADATA_EXTRACTORS, ListMetadataExtractorsViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(ADD_METADATA_EXTRACTOR, AddEditMetadataExtractorViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(EDIT_METADATA_EXTRACTOR, AddEditMetadataExtractorViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(SEARCH_BOOST_BY_METADATAS, SearchBoostByMetadataViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(SEARCH_BOOST_BY_QUERYS, SearchBoostByQueryViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(ORDER_DECOMMISSIONING_LIST_CONFIGURATION, OrderDecommissioningListViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(SYSTEM_CHECK, SystemCheckViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LABEL_CONFIG, ListLabelViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LABEL_AJOUT, AddEditLabelViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LABEL_VIEW, LabelViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(REPORT_VIEW, ReportConfigViewImpl.class)); viewProviders.add(new ClassBasedViewProvider(LIST_BATCH_PROCESSES, ListBatchProcessesViewImpl.class)); } public void configure(Navigator navigator) { for (ViewProvider viewProvider : viewProviders) { navigator.addProvider(viewProvider); } } public void register(String code, Class<? extends BaseViewImpl> clazz) { viewProviders.add(new ClassBasedViewProvider(code, clazz)); } }