20 package cz.vutbr.fit.knot.annotations.app;
33 import java.util.ArrayList;
34 import java.util.HashMap;
35 import java.util.Iterator;
36 import java.util.List;
38 import java.util.concurrent.locks.ReentrantLock;
62 private static ArrayList<EditorSession>
sessions;
68 private static HashMap<Integer, Integer>
documentUsageMap =
new HashMap<Integer,Integer>();
78 public static HashMap<String,ReentrantLock>
documentURILocker =
new HashMap<String,ReentrantLock>();
117 Object[] paramsP = {
"name", Constants.SERVER_URI_SETTING_NAME};
118 @SuppressWarnings(
"unchecked")
119 List<ServerSetting> settingsList = persistenceManager.queryDB(
"ServerSetting.findByName", paramsP);
120 if (settingsList != null && !settingsList.isEmpty()) {
121 if (!settingsList.get(0).getSettingValue().isEmpty()) {
122 serverUri = settingsList.get(0).getSettingValue();
130 sessions =
new ArrayList<EditorSession>();
133 extAuthData =
new HashMap<String, Map<String,String>>();
144 SuggestionManager.initReqTypesFromRemote(sac, null);
147 secApiInterface.init();
148 SuggestionManager.initReqTypes();
211 responseCreator.addModule(module);
239 sessions =
new ArrayList<EditorSession>();
263 sessions =
new ArrayList<EditorSession>();
269 for (Iterator<EditorSession> sesIt =
sessions.iterator(); sesIt.hasNext();) {
271 if (editorSession.
getUser() != null
272 && editorSession.getUser().getId() != null
273 && editorSession.getUser().getId() == user.getId()) {
274 editorSession.refreshUser();
278 for (Iterator<EditorSession> sesIt =
sessions.iterator(); sesIt.hasNext();) {
280 editorSession.refreshUser();
293 sessions =
new ArrayList<EditorSession>();
308 sessions =
new ArrayList<EditorSession>();
323 sessions =
new ArrayList<EditorSession>();
328 sessions.remove(cmp);
340 sessions =
new ArrayList<EditorSession>();
345 int index = sessions.indexOf(cmp);
348 return sessions.get(index);
360 sessions =
new ArrayList<EditorSession>();
364 return sessions.contains(cmp);
376 extAuthData =
new HashMap<String, Map<String,String>>();
379 Map<String,String> sysAuthData = extAuthData.get(system);
380 if (sysAuthData != null) {
381 extAuthData.remove(login);
394 extAuthData =
new HashMap<String, Map<String,String>>();
396 Map<String,String> sysAuthData = extAuthData.get(system);
397 if (sysAuthData == null) {
398 sysAuthData =
new HashMap<String, String>();
399 extAuthData.put(system, sysAuthData);
401 sysAuthData.put(login, data);
414 extAuthData =
new HashMap<String, Map<String,String>>();
417 Map<String,String> sysAuthData = extAuthData.get(system);
418 if (sysAuthData == null) {
421 return sysAuthData.get(login);
432 secApiInterface.init();
433 SuggestionManager.initReqTypes();
467 return documentUsageMap.get(documentId);
478 Integer value = documentUsageMap.get(documentId);
481 documentUsageMap.put(documentId, value + 1);
483 documentUsageMap.put(documentId, 1);
493 Integer value = documentUsageMap.get(documentId);
496 documentUsageMap.put(documentId, value - 1);
498 documentUsageMap.remove(documentId);
511 return documentLastModificationIDMap.get(documentId);
524 Integer modID = documentLastModificationIDMap.get(documentId);
527 documentLastModificationIDMap.put(documentId, modID);
543 documentLastModificationIDMap.put(documentId, 0);
554 ArrayList<TextModification> modificationSet)
560 if(lastMods != null){
561 lastMods.addNextModificationSet(modificationID, modificationSet);
565 documentAppliedModificationsMap.put(documentID, newLastMod);
576 documentAppliedModificationsMap.remove(documentID);
591 if(lastMods != null && lastMods.
containsSet(setID)){
609 int setID, ArrayList<TextModification> modifications)
613 if(lastMods != null){
614 return lastMods.hasModificationSetsConflicts(setID, modifications);
627 Object[] paramsP = {
"name", Constants.SERVER_URI_SETTING_NAME};
628 @SuppressWarnings(
"unchecked")
629 List<ServerSetting> settingsList =
getPersistenceManager().queryDB(
"ServerSetting.findByName", paramsP);
630 if (settingsList != null && !settingsList.isEmpty()) {
631 if (!settingsList.get(0).getSettingValue().isEmpty()) {
632 serverUri = settingsList.get(0).getSettingValue();
755 Object[] paramsP = {
"name", Constants.SEC_API_SERVER_URI_SETTING_NAME};
756 @SuppressWarnings(
"unchecked")
757 List<ServerSetting> settingsList =
getPersistenceManager().queryDB(
"ServerSetting.findByName", paramsP);
758 if (settingsList != null && !settingsList.isEmpty()) {
759 if (!settingsList.get(0).getSettingValue().isEmpty()) {
805 Object[] paramsP = {
"name", Constants.KB_IMG_PREFIX_SETTING_NAME};
806 @SuppressWarnings(
"unchecked")
807 List<ServerSetting> settingsList =
getPersistenceManager().queryDB(
"ServerSetting.findByName", paramsP);
808 if (settingsList != null && !settingsList.isEmpty()) {
809 if (!settingsList.get(0).getSettingValue().isEmpty()) {
828 Object[] paramsP = {
"name", Constants.LOG_GET_ALTERNATIVES_SETTINGS};
829 @SuppressWarnings(
"unchecked")
830 List<ServerSetting> settingsList =
getPersistenceManager().queryDB(
"ServerSetting.findByName", paramsP);
831 if (settingsList != null && !settingsList.isEmpty()) {
832 if (!settingsList.get(0).getSettingValue().isEmpty()) {
833 String settingsStr = settingsList.get(0).getSettingValue();
834 if (Boolean.parseBoolean(settingsStr) ||
"1".equals(settingsStr)) {
static synchronized void initLastDocModification(int documentId)
static ArrayList< SecApiReqTypeDef > unAtDefinitionsEA
static void setServerUri(String serverUri)
static synchronized boolean hasModificationSetsConflicts(int documentID, int setID, ArrayList< TextModification > modifications)
static String getBaseOntoUploadUri()
static synchronized long getNextSessId()
static boolean sessionExists(long id)
static LockMaster getLockMaster()
static ArrayList< SecApiReqTypeDef > reqTypeDefinitions
static void setReqTypeDefinitions(ArrayList< SecApiReqTypeDef > reqTypeDefinitions)
static String getBaseAnnotUri()
static void removeExtAuthData(String system, String login)
static void addModule(AnnotServerModule module)
static void setUnAtDefinitions(ArrayList< SecApiReqTypeDef > unAtDefinitions)
static final String DOC_URI_SUFFIX
Persistence manager (database manipulator)
static LockMaster lockMaster
static String getBaseUri()
Class representing parameter of server settings.
static ArrayList< SecApiReqTypeDef > unTypeDefinitionsEA
static ArrayList< SecApiReqTypeDef > getUnAtDefinitions()
static String getServerUri()
static final String USER_URI_SUFFIX_V2
static ArrayList< SecApiReqTypeDef > getDesTypeDefinitions()
static boolean isSecCommandEmpty()
static final String SUBSCR_URI_SUFFIX
static String getBaseStoredDocumentUri()
static ArrayList< SecApiReqTypeDef > avTypeDefinitions
static String KBImagePrefix
static Boolean logGetAlternativesFor
static HashMap< String, ReentrantLock > documentURILocker
static void setReqTypeDefinitionsEA(ArrayList< SecApiReqTypeDef > reqTypeDefinitionsEA)
static String getSecApiServerUri()
static String getBaseSugUri()
static void setUnTypeDefinitions(ArrayList< SecApiReqTypeDef > unTypeDefinitions)
static final String SUG_URI_SUFFIX
Singleton for storing global variables.
static ArrayList< SecApiReqTypeDef > reqTypeDefinitionsEA
static String getBaseTypeUri()
static void setSecApiServerUri(String secApiServerUri)
static final String AUTHOR_URI_SUFFIX
static synchronized void addDocModificationSet(int documentID, int modificationID, ArrayList< TextModification > modificationSet)
static String getBaseUserUriV2()
static String getBaseUserUri()
static void setExtAuthData(String system, String login, String data)
static SessionCleaner getSessionsCleaner()
static String getKBImagePrefix()
static Map< String, Map< String, String > > extAuthData
Class manages documents locks.
static final String SEC_API_SERVER_URI
static ArrayList< SecApiReqTypeDef > getUnAtDefinitionsEA()
Interface for call of SEC API as external program (deamon)
static ArrayList< SecApiReqTypeDef > desTypeDefinitionsEA
static void setUnTypeDefinitionsEA(ArrayList< SecApiReqTypeDef > unTypeDefinitionsEA)
static final String GROUP_URI_SUFFIX
static ArrayList< SecApiReqTypeDef > getAvTypeDefinitions()
static Boolean getLogGetAlternativesFor()
static ArrayList< EditorSession > sessions
static PersistM persistenceManager
static boolean serverUriLoaded
static ResponseCreator responseCreator
static ArrayList< SecApiReqTypeDef > getDesTypeDefinitionsEA()
Class provides offerining of suggestions with usage of local knowledge repository.
static void setAvTypeDefinitions(ArrayList< SecApiReqTypeDef > avTypeDefinitions)
static synchronized void decrementDocumentUsage(Integer documentId)
static final String TYPE_URI_SUFFIX
Class that provides cleaning of unactive sessions (basic version, not final)
Class for creating of requested type definition for SEC API.
static void setKBImagePrefix(String KBImagePrefix)
static boolean isSecApiInterfaceAvailable()
static SECAPIInterface secApiInterface
static String getBaseGroupUri()
static ArrayList< SecApiReqTypeDef > getReqTypeDefinitions()
static String getExtAuthData(String system, String login)
static void setSecApiInterface(SECAPIInterface secApiInterface)
static ArrayList< EditorSession > getSessions()
static final String KB_IMAGE_PREFIX
static HashMap< Integer, Integer > documentLastModificationIDMap
synchronized boolean containsSet(int modificationID)
static final String ONTO_UPLOAD_URI_SUFFIX
static String getBaseSubscriptionUri()
static void removeSession(EditorSession es)
static HashMap< Integer, Integer > documentUsageMap
static ArrayList< SecApiReqTypeDef > unTypeDefinitions
static synchronized void incrementDocumentUsage(Integer documentId)
static PersistM getPersistenceManager()
static AppBean getInstance()
static void removeSession(long id)
static void addSession(EditorSession es)
Interface for server module.
static String getBaseAuthorUri()
static String secApiServerUri
static synchronized long getNextTmpId()
Class that creates responses and persists data.
static ArrayList< SecApiReqTypeDef > getUnTypeDefinitionsEA()
static final Boolean USE_REMOTE_SEC_API
static ResponseCreator getResponseCreator()
Class representing last applied modifications on a document.
static final String S_DOC_URI_SUFFIX
static final String ANNOT_URI_SUFFIX
static HashMap< Integer, LastTextModifications > documentAppliedModificationsMap
Class implementing functions for communication with remote SEC API.
static ArrayList< SecApiReqTypeDef > getReqTypeDefinitionsEA()
static EditorSession getSession(long id)
static String getBaseDocumentUri()
static ArrayList< SecApiReqTypeDef > getUnTypeDefinitions()
static void refreshUsersInSessions(User user)
static synchronized void removePossibleModificationSets(int documentID)
static final String URI_C
static ArrayList< SecApiReqTypeDef > desTypeDefinitions
Informations about client session.
static ArrayList< SecApiReqTypeDef > unAtDefinitions
static void setUnAtDefinitionsEA(ArrayList< SecApiReqTypeDef > unAtDefinitionsEA)
static synchronized boolean lastModificationSetsContains(int documentID, int setID)
static synchronized int getDocumentUsage(Integer documentId)
static final String SERVER_URI
static void setDesTypeDefinitionsEA(ArrayList< SecApiReqTypeDef > desTypeDefinitionsEA)
static synchronized int getLastDocModification(int documentId)
static synchronized Integer incrementLastDocModification(int documentId)
static SessionCleaner sessionCleaner
static SECAPIInterface getSecApiInterface()
static final String USER_URI_SUFFIX
static void setDesTypeDefinitions(ArrayList< SecApiReqTypeDef > desTypeDefinitions)