You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2016/01/27 11:04:44 UTC
svn commit: r1726989 - in /openmeetings/application:
branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/
branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/
branches/3.1.x/open...
Author: solomax
Date: Wed Jan 27 10:04:44 2016
New Revision: 1726989
URL: http://svn.apache.org/viewvc?rev=1726989&view=rev
Log:
Issues reported by coverity are fixed
Modified:
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/EmoticonsManager.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ChatService.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/BeanUtil.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/DownloadHandler.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/NetworkTestingController.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/TimezoneUtil.java
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/ChatString.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/BeanUtil.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/NetworkTestingController.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/TimezoneUtil.java
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/EmoticonsManager.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/EmoticonsManager.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/EmoticonsManager.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/EmoticonsManager.java Wed Jan 27 10:04:44 2016
@@ -18,13 +18,18 @@
*/
package org.apache.openmeetings.core.data.whiteboard;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
import java.io.BufferedReader;
import java.io.File;
-import java.io.FileReader;
-import java.util.LinkedList;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
import org.apache.openmeetings.util.OmFileHelper;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.util.stringhandlers.ChatString;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -41,36 +46,31 @@ import com.thoughtworks.xstream.io.xml.X
*
*/
public class EmoticonsManager {
-
- private static final Logger log = Red5LoggerFactory.getLogger(EmoticonsManager.class, OpenmeetingsVariables.webAppRootKey);
-
- private LinkedList<LinkedList<String>> emotfilesList = new LinkedList<LinkedList<String>>();
+ private static final Logger log = Red5LoggerFactory.getLogger(EmoticonsManager.class, webAppRootKey);
+ private List<List<String>> emotfilesList = new CopyOnWriteArrayList<>();
@SuppressWarnings("unchecked")
public void loadEmot(){
try {
+ StringBuilder xmlString = new StringBuilder();
XStream xStream = new XStream(new XppDriver());
xStream.setMode(XStream.NO_REFERENCES);
- BufferedReader reader = new BufferedReader(new FileReader(new File(OmFileHelper.getPublicEmotionsDir(), "emotes.xml")));
- String xmlString = "";
- while (reader.ready()) {
- xmlString += reader.readLine();
- }
- reader.close();
- emotfilesList = ChatString.replaceAllRegExp((LinkedList<LinkedList<String>>) xStream.fromXML(xmlString));
+ try (InputStream is = new FileInputStream(new File(OmFileHelper.getPublicEmotionsDir(), "emotes.xml"));
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)))
+ {
+ while (reader.ready()) {
+ xmlString.append(reader.readLine());
+ }
+ }
+ emotfilesList = new CopyOnWriteArrayList<>(ChatString.replaceAllRegExp((List<List<String>>) xStream.fromXML(xmlString.toString())));
log.debug("##### loadEmot completed");
-
} catch (Exception err) {
log.error("[loadEmot]",err);
}
}
- public synchronized LinkedList<LinkedList<String>> getEmotfilesList() {
+ public List<List<String>> getEmotfilesList() {
return emotfilesList;
}
-
- public synchronized void setEmotfilesList(LinkedList<LinkedList<String>> emotfilesListNew) {
- emotfilesList = emotfilesListNew;
- }
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java Wed Jan 27 10:04:44 2016
@@ -18,16 +18,19 @@
*/
package org.apache.openmeetings.core.documents;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
import java.io.BufferedReader;
import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import org.apache.openmeetings.util.OmFileHelper;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.dom4j.Element;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -36,41 +39,34 @@ import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.XppDriver;
public class LibraryWmlLoader {
-
- private static final Logger log = Red5LoggerFactory.getLogger(LibraryWmlLoader.class, OpenmeetingsVariables.webAppRootKey);
-
+ private static final Logger log = Red5LoggerFactory.getLogger(LibraryWmlLoader.class, webAppRootKey);
private static final String fileExt = ".wml";
@SuppressWarnings({ "rawtypes" })
public ArrayList loadWmlFile(String fileName){
- BufferedReader reader = null;
try {
String name = fileName;
if (!name.endsWith(fileExt)) {
name += fileExt;
}
- File filepathComplete = new File(OmFileHelper.getUploadWmlDir(), name);
- log.debug("filepathComplete: "+filepathComplete);
+ File file = new File(OmFileHelper.getUploadWmlDir(), name);
+ log.debug("filepathComplete: " + file);
XStream xStream = new XStream(new XppDriver());
xStream.setMode(XStream.NO_REFERENCES);
- reader = new BufferedReader(new FileReader(filepathComplete));
- ArrayList lMapList = (ArrayList) xStream.fromXML(reader);
-
- return lMapList;
+ try (InputStream is = new FileInputStream(file);
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)))
+ {
+ ArrayList lMapList = (ArrayList) xStream.fromXML(reader);
+
+ return lMapList;
+ }
} catch (Exception err){
log.error("loadWmlFile",err);
- } finally {
- if (reader != null) {
- try {
- reader.close();
- } catch (IOException e) {}
- }
}
return null;
-
}
/**
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ChatService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ChatService.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ChatService.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ChatService.java Wed Jan 27 10:04:44 2016
@@ -21,18 +21,18 @@ package org.apache.openmeetings.core.rem
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import org.apache.openmeetings.core.data.whiteboard.EmoticonsManager;
+import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.core.remote.util.SessionVariablesUtil;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Room;
-import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
-import org.apache.openmeetings.core.remote.util.SessionVariablesUtil;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.util.stringhandlers.ChatString;
import org.red5.logging.Red5LoggerFactory;
@@ -65,7 +65,7 @@ public class ChatService implements IPen
//number of items in the chat room history
private static final int chatRoomHistory = 50;
- private static LinkedHashMap<Long,List<HashMap<String,Object>>> myChats = new LinkedHashMap<Long,List<HashMap<String,Object>>>();
+ private static Map<Long,List<Map<String,Object>>> myChats = new LinkedHashMap<Long,List<Map<String,Object>>>();
private String parseDateAsTimeString() {
Calendar cal=Calendar.getInstance();
@@ -130,15 +130,15 @@ public class ChatService implements IPen
// adding delimiter space, cause otherwise an emoticon in the last
// string would not be found
String messageText = messageMap.get(4) + " ";
- LinkedList<String[]> parsedStringObjects = ChatString.parseChatString(messageText, emoticonsManager.getEmotfilesList(), room.getAllowFontStyles());
+ List<String[]> parsedStringObjects = ChatString.parseChatString(messageText, emoticonsManager.getEmotfilesList(), room.getAllowFontStyles());
// log.error("parsedStringObjects"+parsedStringObjects.size());
log.debug("size:" + messageMap.size());
messageMap.add(parsedStringObjects);
newMessage = messageMap;
boolean needModeration = Boolean.valueOf("" + messageMap.get(9));
- List<HashMap<String, Object>> myChatList = myChats.get(roomId);
- if (myChatList == null) myChatList = new LinkedList<HashMap<String, Object>>();
+ List<Map<String, Object>> myChatList = myChats.get(roomId);
+ if (myChatList == null) myChatList = new LinkedList<Map<String, Object>>();
HashMap<String, Object> hsm = new HashMap<String, Object>();
hsm.put("message", newMessage);
@@ -183,7 +183,7 @@ public class ChatService implements IPen
if (rcl.isScreenClient()) {
continue;
}
- if (needModeration && Boolean.TRUE != rcl.getIsMod() && Boolean.TRUE != rcl.getIsSuperModerator()) {
+ if (needModeration && !rcl.getIsMod() && !Boolean.TRUE.equals(rcl.getIsSuperModerator())) {
continue;
}
((IServiceCapableConnection) conn).invoke("sendVarsToMessageWithClient",new Object[] { hsm }, this);
@@ -218,7 +218,7 @@ public class ChatService implements IPen
String messageText = messageMap.get(4).toString() + " ";
// add server time
messageMap.set(1, parseDateAsTimeString());
- LinkedList<String[]> parsedStringObjects = ChatString.parseChatString(messageText, emoticonsManager.getEmotfilesList(), room.getAllowFontStyles());
+ List<String[]> parsedStringObjects = ChatString.parseChatString(messageText, emoticonsManager.getEmotfilesList(), room.getAllowFontStyles());
// log.error("parsedStringObjects"+parsedStringObjects.size());
log.debug("size:" + messageMap.size());
messageMap.add(parsedStringObjects);
@@ -255,7 +255,7 @@ public class ChatService implements IPen
return 1;
}
- public List<HashMap<String,Object>> clearChat() {
+ public List<Map<String,Object>> clearChat() {
try {
IConnection current = Red5.getConnectionLocal();
Client currentClient = this.sessionManager.getClientByStreamId(current.getClient().getId(), null);
@@ -264,8 +264,8 @@ public class ChatService implements IPen
Long chatroom = room_id;
log.debug("### GET CHATROOM: "+chatroom);
- List<HashMap<String,Object>> myChatList = myChats.get(chatroom);
- myChatList = new LinkedList<HashMap<String,Object>>();
+ List<Map<String,Object>> myChatList = myChats.get(chatroom);
+ myChatList = new LinkedList<Map<String,Object>>();
myChats.put(chatroom,myChatList);
@@ -281,7 +281,7 @@ public class ChatService implements IPen
}
}
- public List<HashMap<String,Object>> getRoomChatHistory() {
+ public List<Map<String,Object>> getRoomChatHistory() {
try {
IConnection current = Red5.getConnectionLocal();
Client currentClient = this.sessionManager.getClientByStreamId(current.getClient().getId(), null);
@@ -289,12 +289,12 @@ public class ChatService implements IPen
log.debug("GET CHATROOM: " + roomId);
- List<HashMap<String,Object>> myChatList = myChats.get(roomId);
- if (myChatList==null) myChatList = new LinkedList<HashMap<String,Object>>();
+ List<Map<String,Object>> myChatList = myChats.get(roomId);
+ if (myChatList==null) myChatList = new LinkedList<Map<String,Object>>();
if (!currentClient.getIsMod() && !currentClient.getIsSuperModerator()) {
//current user is not moderator, chat history need to be filtered
- List<HashMap<String,Object>> tmpChatList = new LinkedList<HashMap<String,Object>>(myChatList);
+ List<Map<String,Object>> tmpChatList = new LinkedList<Map<String,Object>>(myChatList);
for (int i = tmpChatList.size() - 1; i > -1; --i) {
@SuppressWarnings("rawtypes")
List msgList = (List)tmpChatList.get(i).get("message");
@@ -318,14 +318,13 @@ public class ChatService implements IPen
* @param room_id
* @return - chat history of the room given, null in case of exception
*/
- public List<HashMap<String,Object>> getRoomChatHistoryByString(Long room_id) {
+ public List<Map<String,Object>> getRoomChatHistoryByString(Long room_id) {
try {
-
Long chatroom = room_id;
log.debug("GET CHATROOM: "+chatroom);
- List<HashMap<String,Object>> myChatList = myChats.get(chatroom);
- if (myChatList==null) myChatList = new LinkedList<HashMap<String,Object>>();
+ List<Map<String,Object>> myChatList = myChats.get(chatroom);
+ if (myChatList==null) myChatList = new LinkedList<Map<String,Object>>();
return myChatList;
} catch (Exception err) {
@@ -339,13 +338,12 @@ public class ChatService implements IPen
log.error("resultReceived ChatService "+arg0);
}
- public LinkedList<LinkedList<String>> getAllPublicEmoticons(){
+ public List<List<String>> getAllPublicEmoticons(){
try {
- LinkedList<LinkedList<String>> publicemotes = new LinkedList<LinkedList<String>>();
- LinkedList<LinkedList<String>> allEmotes = emoticonsManager.getEmotfilesList();
- for (Iterator<LinkedList<String>> iter = allEmotes.iterator();iter.hasNext();){
- LinkedList<String> emot = iter.next();
- LinkedList<String> emotPub = new LinkedList<String>();
+ List<List<String>> publicemotes = new LinkedList<List<String>>();
+ List<List<String>> allEmotes = emoticonsManager.getEmotfilesList();
+ for (List<String> emot : allEmotes){
+ List<String> emotPub = new LinkedList<>();
if (emot.get((emot.size()-1)).equals("y")){
emotPub.add(emot.get(0));
emotPub.add(emot.get(1).replace("\\", ""));
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java Wed Jan 27 10:04:44 2016
@@ -239,6 +239,10 @@ public class MainService implements IPen
log.debug("swfURL " + clientURL);
SOAPLogin soapLogin = soapLoginDao.get(secureHash);
+ if (soapLogin == null) {
+ log.warn("Unable to find login by hash: {}" + secureHash);
+ return -1L;
+ }
if (soapLogin.isUsed()) {
if (soapLogin.getAllowSameURLMultipleTimes()) {
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java Wed Jan 27 10:04:44 2016
@@ -149,7 +149,7 @@ public class WhiteBoardService implement
* @param canDraw
* @return null in case of success, false otherwise
*/
- public Boolean setCanDraw(String SID, String publicSID, boolean canDraw) {
+ public boolean setCanDraw(String SID, String publicSID, boolean canDraw) {
try {
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
@@ -158,7 +158,6 @@ public class WhiteBoardService implement
Long users_id = sessiondataDao.checkSession(SID);
if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-
if (currentClient.getIsMod()) {
Client rcl = sessionManager.getClientByPublicSID(publicSID, null);
@@ -170,20 +169,17 @@ public class WhiteBoardService implement
newMessage.put(0, "updateDrawStatus");
newMessage.put(1, rcl);
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
- } else {
- return false;
+ return true;
}
- } else {
- return false;
}
}
} catch (Exception err) {
log.error("[setCanDraw]", err);
}
- return null;
+ return false;
}
- public Boolean setCanShare(String SID, String publicSID, boolean canShare) {
+ public boolean setCanShare(String SID, String publicSID, boolean canShare) {
try {
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
@@ -203,20 +199,17 @@ public class WhiteBoardService implement
newMessage.put(0, "updateDrawStatus");
newMessage.put(1, rcl);
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
- } else {
- return false;
+ return true;
}
- } else {
- return false;
}
}
} catch (Exception err) {
log.error("[setCanShare]", err);
}
- return null;
+ return false;
}
- public Boolean setCanRemote(String SID, String publicSID, boolean canRemote) {
+ public boolean setCanRemote(String SID, String publicSID, boolean canRemote) {
try {
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
@@ -236,20 +229,17 @@ public class WhiteBoardService implement
newMessage.put(0, "updateDrawStatus");
newMessage.put(1, rcl);
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
- } else {
- return false;
+ return true;
}
- } else {
- return false;
}
}
} catch (Exception err) {
log.error("[setCanDraw]", err);
}
- return null;
+ return false;
}
- public Boolean setCanGiveAudio(String SID, String publicSID, boolean canGiveAudio) {
+ public boolean setCanGiveAudio(String SID, String publicSID, boolean canGiveAudio) {
try {
log.debug("[setCanGiveAudio] " + SID + ", " + publicSID + ", " + canGiveAudio);
IConnection current = Red5.getConnectionLocal();
@@ -270,17 +260,14 @@ public class WhiteBoardService implement
newMessage.put(0, "updateGiveAudioStatus");
newMessage.put(1, rcl);
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
- } else {
- return false;
+ return true;
}
- } else {
- return false;
}
}
} catch (Exception err) {
log.error("[setCanGiveAudio]", err);
}
- return null;
+ return false;
}
public WhiteboardSyncLockObject startNewSyncprocess() {
@@ -503,26 +490,29 @@ public class WhiteBoardService implement
Cliparts cl = new Cliparts();
cl.setFolderName("general");
- String[] files_general = clipart_dir.list(getFilesOnly);
Comparator<String> comparator = ComparatorUtils.naturalComparator();
- Arrays.sort(files_general, comparator);
-
- cl.setGeneralList(files_general);
+ String[] files_general = clipart_dir.list(getFilesOnly);
+ if (files_general != null) {
+ Arrays.sort(files_general, comparator);
+ cl.setGeneralList(files_general);
+ }
cl.setSubCategories(new LinkedList<Cliparts>());
- for (File dir : clipart_dir.listFiles(getDirectoriesOnly)) {
- Cliparts cl_sub = new Cliparts();
- cl_sub.setFolderName("math");
- String[] files = dir.list(getFilesOnly);
- if (files != null) {
- Arrays.sort(files, comparator);
- cl_sub.setGeneralList(files);
- cl.getSubCategories().add(cl_sub);
+ File[] dirs = clipart_dir.listFiles(getDirectoriesOnly);
+ if (dirs != null) {
+ for (File dir : dirs) {
+ Cliparts cl_sub = new Cliparts();
+ cl_sub.setFolderName("math");
+ String[] files = dir.list(getFilesOnly);
+ if (files != null) {
+ Arrays.sort(files, comparator);
+ cl_sub.setGeneralList(files);
+ cl.getSubCategories().add(cl_sub);
+ }
}
}
return cl;
-
} catch (Exception err) {
log.error("[getClipArtIcons]", err);
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Wed Jan 27 10:04:44 2016
@@ -172,6 +172,10 @@ public class ScopeApplicationAdapter ext
Client rcm = sessionManager.addClientListItem(conn.getClient().getId(),
conn.getScope().getName(), conn.getRemotePort(),
conn.getRemoteAddress(), swfURL, null);
+ if (rcm == null) {
+ log.warn("Failed to create Client on room connect");
+ return false;
+ }
SessionVariablesUtil.initClient(conn.getClient(), rcm.getPublicSID());
//TODO add similar code for other connections, merge with above block
@@ -182,14 +186,16 @@ public class ScopeApplicationAdapter ext
rcm.setScreenClient(true);
SessionVariablesUtil.setIsScreenClient(conn.getClient());
- rcm.setUserId(((Integer)map.get("userId")).longValue());
+ rcm.setUserId((Long)map.get("userId"));
SessionVariablesUtil.setUserId(conn.getClient(), rcm.getUserId());
rcm.setStreamPublishName(parentSid);
- User u = userDao.get(rcm.getUserId() < 0 ? -rcm.getUserId() : rcm.getUserId());
- rcm.setUsername(u.getLogin());
- rcm.setFirstname(u.getFirstname());
- rcm.setLastname(u.getLastname());
+ User u = userDao.get(rcm.getUserId() != null && rcm.getUserId() < 0 ? -rcm.getUserId() : rcm.getUserId());
+ if (u != null) {
+ rcm.setUsername(u.getLogin());
+ rcm.setFirstname(u.getFirstname());
+ rcm.setLastname(u.getLastname());
+ }
log.debug("publishName :: " + rcm.getStreamPublishName());
sessionManager.updateClientByStreamId(streamId, rcm, false, null);
}
@@ -950,8 +956,11 @@ public class ScopeApplicationAdapter ext
*/
public synchronized Long applyForModeration(String publicSID) {
try {
-
Client currentClient = sessionManager.getClientByPublicSID(publicSID, null);
+ if (currentClient == null) {
+ log.warn("Unable to find client by publicSID: {}", publicSID);
+ return -1L;
+ }
List<Client> currentModList = sessionManager.getCurrentModeratorByRoom(currentClient.getRoomId());
@@ -963,7 +972,6 @@ public class ScopeApplicationAdapter ext
return room.isModerated() ? 3L : 1L;
}
-
} catch (Exception err) {
log.error("[applyForModeration]", err);
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/BeanUtil.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/BeanUtil.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/BeanUtil.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/BeanUtil.java Wed Jan 27 10:04:44 2016
@@ -21,12 +21,17 @@ package org.apache.openmeetings.core.ser
import javax.servlet.ServletContext;
import org.apache.openmeetings.util.InitializationContainer;
+import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
public class BeanUtil {
public <T> T getBean(Class<T> beanClass, ServletContext ctx) throws ServerNotInitializedException {
if (InitializationContainer.initComplete) {
- return WebApplicationContextUtils.getWebApplicationContext(ctx).getBean(beanClass);
+ WebApplicationContext wc = WebApplicationContextUtils.getWebApplicationContext(ctx);
+ if (wc == null) {
+ throw new ServerNotInitializedException("Server not yet initialized (context is null), retry in couple of seconds");
+ }
+ return wc.getBean(beanClass);
} else {
throw new ServerNotInitializedException("Server not yet initialized, retry in couple of seconds");
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/DownloadHandler.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/DownloadHandler.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/DownloadHandler.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/DownloadHandler.java Wed Jan 27 10:04:44 2016
@@ -211,11 +211,7 @@ public class DownloadHandler extends Bas
log.debug("full_path: " + full_path);
if (!full_path.exists() || !full_path.canRead()) {
- if (!full_path.canRead()) {
- log.debug("DownloadHandler: The request DEFAULT-file does not exist / has already been deleted");
- } else {
- log.debug("DownloadHandler: The request DEFAULT-file does not exist / has already been deleted");
- }
+ log.debug("DownloadHandler: The request DEFAULT-file does not exist / has already been deleted");
// no file to handle abort processing
return;
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/NetworkTestingController.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/NetworkTestingController.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/NetworkTestingController.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/NetworkTestingController.java Wed Jan 27 10:04:44 2016
@@ -67,7 +67,7 @@ public class NetworkTestingController {
TestType testType = this.getTypeByString(typeStr);
// choose data to send
- byte[] data = null;
+ byte[] data = new byte[0];
switch (testType) {
case UNKNOWN:
return;
Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java Wed Jan 27 10:04:44 2016
@@ -58,7 +58,6 @@ public class SessiondataDao {
*/
public Sessiondata startsession() {
try {
-
log.debug("startsession :: startsession");
long thistime = new Date().getTime();
@@ -139,7 +138,7 @@ public class SessiondataDao {
* @param SID
* @param userId
*/
- public Boolean updateUser(String SID, long userId) {
+ public boolean updateUser(String SID, long userId) {
try {
log.debug("updateUser User: " + userId + " || " + SID);
@@ -172,7 +171,7 @@ public class SessiondataDao {
} catch (Exception ex2) {
log.error("[updateUser]: ", ex2);
}
- return null;
+ return false;
}
public boolean updateUser(String SID, long userId, boolean permanent, Long languageId) {
@@ -212,7 +211,7 @@ public class SessiondataDao {
return false;
}
- public Boolean updateUserGroup(String SID, Long groupId) {
+ public boolean updateUserGroup(String SID, Long groupId) {
try {
log.debug("updateUserGroup User: " + groupId + " || " + SID);
TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
@@ -244,10 +243,10 @@ public class SessiondataDao {
} catch (Exception ex2) {
log.error("[updateUser]: ", ex2);
}
- return null;
+ return false;
}
- public Boolean updateUserWithoutSession(String SID, Long userId) {
+ public boolean updateUserWithoutSession(String SID, Long userId) {
try {
log.debug("updateUser User: " + userId + " || " + SID);
TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
@@ -279,10 +278,10 @@ public class SessiondataDao {
} catch (Exception ex2) {
log.error("[updateUser]: ", ex2);
}
- return null;
+ return false;
}
- public Boolean updateUserRemoteSession(String SID, String sessionXml) {
+ public boolean updateUserRemoteSession(String SID, String sessionXml) {
try {
log.debug("updateUser User SID: " + SID);
@@ -310,7 +309,7 @@ public class SessiondataDao {
} catch (Exception ex2) {
log.error("[updateUserRemoteSession]: ", ex2);
}
- return null;
+ return false;
}
/**
@@ -387,18 +386,19 @@ public class SessiondataDao {
for (Client rcl : sessionManager.getClientListByRoom(roomId)) {
String aux = rcl.getSwfurl();
+ //FIXME TODO this need to be refactored !
int init_pos = aux.indexOf("sid=") + 4;
int end_pos = init_pos + 32;
- if (end_pos > aux.length())
+ if (end_pos > aux.length()) {
end_pos = aux.length();
+ }
String SID = aux.substring(init_pos, end_pos);
Sessiondata sData = getSessionByHash(SID);
-
- sData = em.find(Sessiondata.class, sData.getId());
- em.remove(sData);
+ if (sData != null) {
+ em.remove(sData);
+ }
}
-
} catch (Exception err) {
log.error("clearSessionByRoomId", err);
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java Wed Jan 27 10:04:44 2016
@@ -236,11 +236,11 @@ public class UserDao implements IDataPro
// sebawagner, 01.10.2012
public User update(User user, String password, long updatedBy) throws NoSuchAlgorithmException, UnsupportedEncodingException {
User u = update(user, updatedBy);
- if (password != null && !password.isEmpty()) {
+ if (u != null && password != null && !password.isEmpty()) {
//OpenJPA is not allowing to set fields not being fetched before
User u1 = get(u.getId(), true);
u1.updatePassword(cfgDao, password);
- update(u1, updatedBy);
+ u = update(u1, updatedBy);
}
return u;
}
@@ -365,7 +365,7 @@ public class UserDao implements IDataPro
u = em.createNamedQuery("getUserByLogin", User.class)
.setParameter("login", login)
.setParameter("type", type)
- .setParameter("domainId", domainId == null ? 0 : domainId)
+ .setParameter("domainId", domainId == null ? 0L : domainId)
.getSingleResult();
} catch (NoResultException ex) {
}
@@ -382,7 +382,7 @@ public class UserDao implements IDataPro
u = em.createNamedQuery("getUserByEmail", User.class)
.setParameter("email", email)
.setParameter("type", type)
- .setParameter("domainId", domainId == null ? 0 : domainId)
+ .setParameter("domainId", domainId == null ? 0L : domainId)
.getSingleResult();
} catch (NoResultException ex) {
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/TimezoneUtil.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/TimezoneUtil.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/TimezoneUtil.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/TimezoneUtil.java Wed Jan 27 10:04:44 2016
@@ -21,12 +21,10 @@ package org.apache.openmeetings.db.util;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.util.Calendar;
-import java.util.Date;
import java.util.TimeZone;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.util.CalendarPatterns;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -52,7 +50,6 @@ public class TimezoneUtil {
*/
public TimeZone getTimeZone(String timeZoneId) {
-
if (timeZoneId == null || timeZoneId.equals("")) {
return getDefaultTimeZone();
}
@@ -66,7 +63,6 @@ public class TimezoneUtil {
* @return The current server configured time zone in the table configuration key: "default.timezone"
*/
public TimeZone getDefaultTimeZone() {
-
String defaultTzName = configurationDao.getConfValue("default.timezone", String.class, "Europe/Berlin");
TimeZone timeZoneByOmTimeZone = TimeZone.getTimeZone(defaultTzName);
@@ -88,7 +84,6 @@ public class TimezoneUtil {
* @return
*/
public TimeZone getTimeZone(User user) {
-
if (user != null && user.getTimeZoneId() != null) {
TimeZone timeZone = TimeZone.getTimeZone(user.getTimeZoneId());
@@ -98,43 +93,13 @@ public class TimezoneUtil {
}
}
-
// if user has not time zone get one from the server configuration
return getDefaultTimeZone();
}
- /**
- * We ignore the fact that a Date Object is always in UTC internally and treat it as if it contains only dd.mm.yyyy
- * HH:mm:ss. We need to do this cause we cannot trust the Date Object send from the client. We have the timeZone
- * information additional to the Date, so we use it to transform it now to a Calendar Object.
- *
- * @param dateTime
- * @param timezone
- * @return
- */
- public static Calendar getCalendarInTimezone(String dateTimeStr, TimeZone timezone) {
-
- Date dateTime = CalendarPatterns.parseImportDate(dateTimeStr);
-
- Calendar calOrig = Calendar.getInstance();
- calOrig.setTime(dateTime);
-
- Calendar cal = Calendar.getInstance(timezone);
- cal.set(Calendar.YEAR, calOrig.get(Calendar.YEAR));
- cal.set(Calendar.MONTH, calOrig.get(Calendar.MONTH));
- cal.set(Calendar.DATE, calOrig.get(Calendar.DATE));
- cal.set(Calendar.HOUR_OF_DAY, calOrig.get(Calendar.HOUR_OF_DAY));
- cal.set(Calendar.MINUTE, calOrig.get(Calendar.MINUTE));
- cal.set(Calendar.SECOND, calOrig.get(Calendar.SECOND));
- cal.set(Calendar.MILLISECOND, 0);
-
- return cal;
- }
-
public static long _getOffset(TimeZone timezone) {
Calendar cal = Calendar.getInstance();
cal.setTimeZone(timezone);
return cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET);
}
-
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java Wed Jan 27 10:04:44 2016
@@ -28,6 +28,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.Map;
import java.util.TimeZone;
@@ -533,7 +534,7 @@ public class Admin {
ConfigurationDao cfgDao = getApplicationContext(ctxName).getBean(ConfigurationDao.class);
if (invalidPassword(cfg.password, cfgDao)) {
System.out.print("Please enter password for the user '" + cfg.username + "':");
- cfg.password = new BufferedReader(new InputStreamReader(System.in)).readLine();
+ cfg.password = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8)).readLine();
if (invalidPassword(cfg.password, cfgDao)) {
System.out.println("Password was not provided, or too short, should be at least " + getMinPasswdLength(cfgDao) + " character long.");
System.exit(1);
Modified: openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java Wed Jan 27 10:04:44 2016
@@ -18,7 +18,10 @@
*/
package org.apache.openmeetings.installation;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.nio.charset.StandardCharsets;
import org.apache.openmeetings.util.OmFileHelper;
import org.dom4j.Document;
@@ -38,9 +41,11 @@ public class InstallationDocumentHandler
step.addElement("stepnumber").addText(stepNo.toString());
step.addElement("stepname").addText("Step " + stepNo);
- XMLWriter writer = new XMLWriter(new FileWriter(OmFileHelper.getInstallFile()));
- writer.write(document);
- writer.close();
+ try (OutputStream os = new FileOutputStream(OmFileHelper.getInstallFile())) {
+ XMLWriter writer = new XMLWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8));
+ writer.write(document);
+ writer.close();
+ }
}
public static int getCurrentStepNumber() throws Exception {
Modified: openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java Wed Jan 27 10:04:44 2016
@@ -117,6 +117,9 @@ public class IcalHandler {
TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance().createRegistry();
TimeZone timeZone = registry.getTimeZone(javaTzId);
+ if (timeZone == null) {
+ throw new Exception("Unable to get time zone by id provided: " + javaTzId);
+ }
DateTime start = new DateTime(startDate);
start.setTimeZone(timeZone);
Modified: openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/ChatString.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/ChatString.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/ChatString.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/ChatString.java Wed Jan 27 10:04:44 2016
@@ -20,8 +20,8 @@ package org.apache.openmeetings.util.str
import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
-import java.util.Iterator;
import java.util.LinkedList;
+import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -41,9 +41,9 @@ public class ChatString {
return result;
}
- public static LinkedList<String[]> parseChatString(String message, LinkedList<LinkedList<String>> emotFiles, boolean allowHTML) {
+ public static List<String[]> parseChatString(String message, List<List<String>> emotFiles, boolean allowHTML) {
try {
- LinkedList<String[]> list = new LinkedList<String[]>();
+ List<String[]> list = new LinkedList<>();
// log.debug("this.link(message) "+this.link(message));
@@ -53,17 +53,15 @@ public class ChatString {
String[] messageStr = { "text", message };
list.add(messageStr);
- for (LinkedList<String> emot : emotFiles) {
+ for (List<String> emot : emotFiles) {
// log.error("CHECK EMOT: "+ emot.get(0) + emot.get(1) +
// emot.size());
- list = splitStr(list, emot.get(0), emot.get(1),
- emot.get(emot.size() - 2));
+ list = splitStr(list, emot.get(0), emot.get(1), emot.get(emot.size() - 2));
if (emot.size() > 4) {
// log.error("CHECK EMOT ASIAN: "+ emot.get(0) + emot.get(2)
// + emot.size());
- list = splitStr(list, emot.get(0), emot.get(2),
- emot.get(emot.size() - 2));
+ list = splitStr(list, emot.get(0), emot.get(2), emot.get(emot.size() - 2));
}
}
@@ -82,14 +80,10 @@ public class ChatString {
return null;
}
- private static LinkedList<String[]> splitStr(LinkedList<String[]> list,
- String image, String regexp, String spaces) {
+ private static List<String[]> splitStr(List<String[]> list, String image, String regexp, String spaces) {
+ List<String[]> newList = new LinkedList<>();
- LinkedList<String[]> newList = new LinkedList<String[]>();
-
- for (Iterator<String[]> iter = list.iterator(); iter.hasNext();) {
-
- String[] messageObj = iter.next();
+ for (String[] messageObj : list) {
String messageTye = messageObj[0];
if (messageTye.equals("text")) {
@@ -101,8 +95,7 @@ public class ChatString {
String[] textA = { "text", newStr[k] };
newList.add(textA);
if (k + 1 != newStr.length) {
- String[] imageA = { "image", image, spaces,
- regexp.replace("\\", "") };
+ String[] imageA = { "image", image, spaces, regexp.replace("\\", "") };
newList.add(imageA);
}
}
@@ -116,10 +109,10 @@ public class ChatString {
return newList;
}
- public static LinkedList<LinkedList<String>> replaceAllRegExp(LinkedList<LinkedList<String>> emotFiles) {
- LinkedList<LinkedList<String>> emotfilesListNew = new LinkedList<LinkedList<String>>();
+ public static List<List<String>> replaceAllRegExp(List<List<String>> emotFiles) {
+ List<List<String>> emotfilesListNew = new LinkedList<List<String>>();
try {
- for (LinkedList<String> emot : emotFiles) {
+ for (List<String> emot : emotFiles) {
// log.error("FILE: "+emot.get(0));
String westernMeaning = checkforRegex(emot.get(1));
emot.set(1, westernMeaning);
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java Wed Jan 27 10:04:44 2016
@@ -18,16 +18,19 @@
*/
package org.apache.openmeetings.core.documents;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
import java.io.BufferedReader;
import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import org.apache.openmeetings.util.OmFileHelper;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.dom4j.Element;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -36,41 +39,34 @@ import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.XppDriver;
public class LibraryWmlLoader {
-
- private static final Logger log = Red5LoggerFactory.getLogger(LibraryWmlLoader.class, OpenmeetingsVariables.webAppRootKey);
-
+ private static final Logger log = Red5LoggerFactory.getLogger(LibraryWmlLoader.class, webAppRootKey);
private static final String fileExt = ".wml";
@SuppressWarnings({ "rawtypes" })
public ArrayList loadWmlFile(String fileName){
- BufferedReader reader = null;
try {
String name = fileName;
if (!name.endsWith(fileExt)) {
name += fileExt;
}
- File filepathComplete = new File(OmFileHelper.getUploadWmlDir(), name);
- log.debug("filepathComplete: "+filepathComplete);
+ File file = new File(OmFileHelper.getUploadWmlDir(), name);
+ log.debug("filepathComplete: " + file);
XStream xStream = new XStream(new XppDriver());
xStream.setMode(XStream.NO_REFERENCES);
- reader = new BufferedReader(new FileReader(filepathComplete));
- ArrayList lMapList = (ArrayList) xStream.fromXML(reader);
-
- return lMapList;
+ try (InputStream is = new FileInputStream(file);
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)))
+ {
+ ArrayList lMapList = (ArrayList) xStream.fromXML(reader);
+
+ return lMapList;
+ }
} catch (Exception err){
log.error("loadWmlFile",err);
- } finally {
- if (reader != null) {
- try {
- reader.close();
- } catch (IOException e) {}
- }
}
return null;
-
}
/**
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java Wed Jan 27 10:04:44 2016
@@ -141,6 +141,10 @@ public class MainService implements IPen
log.debug("swfURL " + clientURL);
SOAPLogin soapLogin = soapLoginDao.get(secureHash);
+ if (soapLogin == null) {
+ log.warn("Unable to find login by hash: {}" + secureHash);
+ return -1L;
+ }
if (soapLogin.isUsed()) {
if (soapLogin.getAllowSameURLMultipleTimes()) {
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java Wed Jan 27 10:04:44 2016
@@ -149,7 +149,7 @@ public class WhiteBoardService implement
* @param canDraw
* @return null in case of success, false otherwise
*/
- public Boolean setCanDraw(String SID, String publicSID, boolean canDraw) {
+ public boolean setCanDraw(String SID, String publicSID, boolean canDraw) {
try {
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
@@ -158,7 +158,6 @@ public class WhiteBoardService implement
Long users_id = sessiondataDao.checkSession(SID);
if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-
if (currentClient.getIsMod()) {
Client rcl = sessionManager.getClientByPublicSID(publicSID, null);
@@ -170,20 +169,17 @@ public class WhiteBoardService implement
newMessage.put(0, "updateDrawStatus");
newMessage.put(1, rcl);
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
- } else {
- return false;
+ return true;
}
- } else {
- return false;
}
}
} catch (Exception err) {
log.error("[setCanDraw]", err);
}
- return null;
+ return false;
}
- public Boolean setCanShare(String SID, String publicSID, boolean canShare) {
+ public boolean setCanShare(String SID, String publicSID, boolean canShare) {
try {
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
@@ -203,20 +199,17 @@ public class WhiteBoardService implement
newMessage.put(0, "updateDrawStatus");
newMessage.put(1, rcl);
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
- } else {
- return false;
+ return true;
}
- } else {
- return false;
}
}
} catch (Exception err) {
log.error("[setCanShare]", err);
}
- return null;
+ return false;
}
- public Boolean setCanRemote(String SID, String publicSID, boolean canRemote) {
+ public boolean setCanRemote(String SID, String publicSID, boolean canRemote) {
try {
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
@@ -236,20 +229,17 @@ public class WhiteBoardService implement
newMessage.put(0, "updateDrawStatus");
newMessage.put(1, rcl);
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
- } else {
- return false;
+ return true;
}
- } else {
- return false;
}
}
} catch (Exception err) {
log.error("[setCanDraw]", err);
}
- return null;
+ return false;
}
- public Boolean setCanGiveAudio(String SID, String publicSID, boolean canGiveAudio) {
+ public boolean setCanGiveAudio(String SID, String publicSID, boolean canGiveAudio) {
try {
log.debug("[setCanGiveAudio] " + SID + ", " + publicSID + ", " + canGiveAudio);
IConnection current = Red5.getConnectionLocal();
@@ -270,17 +260,14 @@ public class WhiteBoardService implement
newMessage.put(0, "updateGiveAudioStatus");
newMessage.put(1, rcl);
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
- } else {
- return false;
+ return true;
}
- } else {
- return false;
}
}
} catch (Exception err) {
log.error("[setCanGiveAudio]", err);
}
- return null;
+ return false;
}
public WhiteboardSyncLockObject startNewSyncprocess() {
@@ -503,26 +490,29 @@ public class WhiteBoardService implement
Cliparts cl = new Cliparts();
cl.setFolderName("general");
- String[] files_general = clipart_dir.list(getFilesOnly);
Comparator<String> comparator = ComparatorUtils.naturalComparator();
- Arrays.sort(files_general, comparator);
-
- cl.setGeneralList(files_general);
+ String[] files_general = clipart_dir.list(getFilesOnly);
+ if (files_general != null) {
+ Arrays.sort(files_general, comparator);
+ cl.setGeneralList(files_general);
+ }
cl.setSubCategories(new LinkedList<Cliparts>());
- for (File dir : clipart_dir.listFiles(getDirectoriesOnly)) {
- Cliparts cl_sub = new Cliparts();
- cl_sub.setFolderName("math");
- String[] files = dir.list(getFilesOnly);
- if (files != null) {
- Arrays.sort(files, comparator);
- cl_sub.setGeneralList(files);
- cl.getSubCategories().add(cl_sub);
+ File[] dirs = clipart_dir.listFiles(getDirectoriesOnly);
+ if (dirs != null) {
+ for (File dir : dirs) {
+ Cliparts cl_sub = new Cliparts();
+ cl_sub.setFolderName("math");
+ String[] files = dir.list(getFilesOnly);
+ if (files != null) {
+ Arrays.sort(files, comparator);
+ cl_sub.setGeneralList(files);
+ cl.getSubCategories().add(cl_sub);
+ }
}
}
return cl;
-
} catch (Exception err) {
log.error("[getClipArtIcons]", err);
}
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Wed Jan 27 10:04:44 2016
@@ -163,6 +163,10 @@ public class ScopeApplicationAdapter ext
Client rcm = sessionManager.addClientListItem(conn.getClient().getId(),
conn.getScope().getName(), conn.getRemotePort(),
conn.getRemoteAddress(), swfURL, null);
+ if (rcm == null) {
+ log.warn("Failed to create Client on room connect");
+ return false;
+ }
SessionVariablesUtil.initClient(conn.getClient(), rcm.getPublicSID());
//TODO add similar code for other connections, merge with above block
@@ -173,14 +177,16 @@ public class ScopeApplicationAdapter ext
rcm.setScreenClient(true);
SessionVariablesUtil.setIsScreenClient(conn.getClient());
- rcm.setUserId(((Integer)map.get("userId")).longValue());
+ rcm.setUserId((Long)map.get("userId"));
SessionVariablesUtil.setUserId(conn.getClient(), rcm.getUserId());
rcm.setStreamPublishName(parentSid);
- User u = userDao.get(rcm.getUserId() < 0 ? -rcm.getUserId() : rcm.getUserId());
- rcm.setUsername(u.getLogin());
- rcm.setFirstname(u.getFirstname());
- rcm.setLastname(u.getLastname());
+ User u = userDao.get(rcm.getUserId() != null && rcm.getUserId() < 0 ? -rcm.getUserId() : rcm.getUserId());
+ if (u != null) {
+ rcm.setUsername(u.getLogin());
+ rcm.setFirstname(u.getFirstname());
+ rcm.setLastname(u.getLastname());
+ }
log.debug("publishName :: " + rcm.getStreamPublishName());
sessionManager.updateClientByStreamId(streamId, rcm, false, null);
}
@@ -941,8 +947,11 @@ public class ScopeApplicationAdapter ext
*/
public synchronized Long applyForModeration(String publicSID) {
try {
-
Client currentClient = sessionManager.getClientByPublicSID(publicSID, null);
+ if (currentClient == null) {
+ log.warn("Unable to find client by publicSID: {}", publicSID);
+ return -1L;
+ }
List<Client> currentModList = sessionManager.getCurrentModeratorByRoom(currentClient.getRoomId());
@@ -954,7 +963,6 @@ public class ScopeApplicationAdapter ext
return room.isModerated() ? 3L : 1L;
}
-
} catch (Exception err) {
log.error("[applyForModeration]", err);
}
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/BeanUtil.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/BeanUtil.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/BeanUtil.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/BeanUtil.java Wed Jan 27 10:04:44 2016
@@ -21,12 +21,17 @@ package org.apache.openmeetings.core.ser
import javax.servlet.ServletContext;
import org.apache.openmeetings.util.InitializationContainer;
+import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
public class BeanUtil {
public <T> T getBean(Class<T> beanClass, ServletContext ctx) throws ServerNotInitializedException {
if (InitializationContainer.initComplete) {
- return WebApplicationContextUtils.getWebApplicationContext(ctx).getBean(beanClass);
+ WebApplicationContext wc = WebApplicationContextUtils.getWebApplicationContext(ctx);
+ if (wc == null) {
+ throw new ServerNotInitializedException("Server not yet initialized (context is null), retry in couple of seconds");
+ }
+ return wc.getBean(beanClass);
} else {
throw new ServerNotInitializedException("Server not yet initialized, retry in couple of seconds");
}
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/NetworkTestingController.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/NetworkTestingController.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/NetworkTestingController.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/NetworkTestingController.java Wed Jan 27 10:04:44 2016
@@ -67,7 +67,7 @@ public class NetworkTestingController {
TestType testType = this.getTypeByString(typeStr);
// choose data to send
- byte[] data = null;
+ byte[] data = new byte[0];
switch (testType) {
case UNKNOWN:
return;
Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java Wed Jan 27 10:04:44 2016
@@ -58,7 +58,6 @@ public class SessiondataDao {
*/
public Sessiondata startsession() {
try {
-
log.debug("startsession :: startsession");
long thistime = new Date().getTime();
@@ -139,7 +138,7 @@ public class SessiondataDao {
* @param SID
* @param userId
*/
- public Boolean updateUser(String SID, long userId) {
+ public boolean updateUser(String SID, long userId) {
try {
log.debug("updateUser User: " + userId + " || " + SID);
@@ -172,7 +171,7 @@ public class SessiondataDao {
} catch (Exception ex2) {
log.error("[updateUser]: ", ex2);
}
- return null;
+ return false;
}
public boolean updateUser(String SID, long userId, boolean permanent, Long languageId) {
@@ -212,7 +211,7 @@ public class SessiondataDao {
return false;
}
- public Boolean updateUserGroup(String SID, Long groupId) {
+ public boolean updateUserGroup(String SID, Long groupId) {
try {
log.debug("updateUserGroup User: " + groupId + " || " + SID);
TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
@@ -244,10 +243,10 @@ public class SessiondataDao {
} catch (Exception ex2) {
log.error("[updateUser]: ", ex2);
}
- return null;
+ return false;
}
- public Boolean updateUserWithoutSession(String SID, Long userId) {
+ public boolean updateUserWithoutSession(String SID, Long userId) {
try {
log.debug("updateUser User: " + userId + " || " + SID);
TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
@@ -279,10 +278,10 @@ public class SessiondataDao {
} catch (Exception ex2) {
log.error("[updateUser]: ", ex2);
}
- return null;
+ return false;
}
- public Boolean updateUserRemoteSession(String SID, String sessionXml) {
+ public boolean updateUserRemoteSession(String SID, String sessionXml) {
try {
log.debug("updateUser User SID: " + SID);
@@ -310,7 +309,7 @@ public class SessiondataDao {
} catch (Exception ex2) {
log.error("[updateUserRemoteSession]: ", ex2);
}
- return null;
+ return false;
}
/**
@@ -387,18 +386,19 @@ public class SessiondataDao {
for (Client rcl : sessionManager.getClientListByRoom(roomId)) {
String aux = rcl.getSwfurl();
+ //FIXME TODO this need to be refactored !
int init_pos = aux.indexOf("sid=") + 4;
int end_pos = init_pos + 32;
- if (end_pos > aux.length())
+ if (end_pos > aux.length()) {
end_pos = aux.length();
+ }
String SID = aux.substring(init_pos, end_pos);
Sessiondata sData = getSessionByHash(SID);
-
- sData = em.find(Sessiondata.class, sData.getId());
- em.remove(sData);
+ if (sData != null) {
+ em.remove(sData);
+ }
}
-
} catch (Exception err) {
log.error("clearSessionByRoomId", err);
}
Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java Wed Jan 27 10:04:44 2016
@@ -236,11 +236,11 @@ public class UserDao implements IDataPro
// sebawagner, 01.10.2012
public User update(User user, String password, long updatedBy) throws NoSuchAlgorithmException, UnsupportedEncodingException {
User u = update(user, updatedBy);
- if (password != null && !password.isEmpty()) {
+ if (u != null && password != null && !password.isEmpty()) {
//OpenJPA is not allowing to set fields not being fetched before
User u1 = get(u.getId(), true);
u1.updatePassword(cfgDao, password);
- update(u1, updatedBy);
+ u = update(u1, updatedBy);
}
return u;
}
@@ -365,7 +365,7 @@ public class UserDao implements IDataPro
u = em.createNamedQuery("getUserByLogin", User.class)
.setParameter("login", login)
.setParameter("type", type)
- .setParameter("domainId", domainId == null ? 0 : domainId)
+ .setParameter("domainId", domainId == null ? 0L : domainId)
.getSingleResult();
} catch (NoResultException ex) {
}
@@ -382,7 +382,7 @@ public class UserDao implements IDataPro
u = em.createNamedQuery("getUserByEmail", User.class)
.setParameter("email", email)
.setParameter("type", type)
- .setParameter("domainId", domainId == null ? 0 : domainId)
+ .setParameter("domainId", domainId == null ? 0L : domainId)
.getSingleResult();
} catch (NoResultException ex) {
}
Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/TimezoneUtil.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/TimezoneUtil.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/TimezoneUtil.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/TimezoneUtil.java Wed Jan 27 10:04:44 2016
@@ -21,12 +21,10 @@ package org.apache.openmeetings.db.util;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.util.Calendar;
-import java.util.Date;
import java.util.TimeZone;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.util.CalendarPatterns;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -52,7 +50,6 @@ public class TimezoneUtil {
*/
public TimeZone getTimeZone(String timeZoneId) {
-
if (timeZoneId == null || timeZoneId.equals("")) {
return getDefaultTimeZone();
}
@@ -66,7 +63,6 @@ public class TimezoneUtil {
* @return The current server configured time zone in the table configuration key: "default.timezone"
*/
public TimeZone getDefaultTimeZone() {
-
String defaultTzName = configurationDao.getConfValue("default.timezone", String.class, "Europe/Berlin");
TimeZone timeZoneByOmTimeZone = TimeZone.getTimeZone(defaultTzName);
@@ -88,7 +84,6 @@ public class TimezoneUtil {
* @return
*/
public TimeZone getTimeZone(User user) {
-
if (user != null && user.getTimeZoneId() != null) {
TimeZone timeZone = TimeZone.getTimeZone(user.getTimeZoneId());
@@ -98,43 +93,13 @@ public class TimezoneUtil {
}
}
-
// if user has not time zone get one from the server configuration
return getDefaultTimeZone();
}
- /**
- * We ignore the fact that a Date Object is always in UTC internally and treat it as if it contains only dd.mm.yyyy
- * HH:mm:ss. We need to do this cause we cannot trust the Date Object send from the client. We have the timeZone
- * information additional to the Date, so we use it to transform it now to a Calendar Object.
- *
- * @param dateTime
- * @param timezone
- * @return
- */
- public static Calendar getCalendarInTimezone(String dateTimeStr, TimeZone timezone) {
-
- Date dateTime = CalendarPatterns.parseImportDate(dateTimeStr);
-
- Calendar calOrig = Calendar.getInstance();
- calOrig.setTime(dateTime);
-
- Calendar cal = Calendar.getInstance(timezone);
- cal.set(Calendar.YEAR, calOrig.get(Calendar.YEAR));
- cal.set(Calendar.MONTH, calOrig.get(Calendar.MONTH));
- cal.set(Calendar.DATE, calOrig.get(Calendar.DATE));
- cal.set(Calendar.HOUR_OF_DAY, calOrig.get(Calendar.HOUR_OF_DAY));
- cal.set(Calendar.MINUTE, calOrig.get(Calendar.MINUTE));
- cal.set(Calendar.SECOND, calOrig.get(Calendar.SECOND));
- cal.set(Calendar.MILLISECOND, 0);
-
- return cal;
- }
-
public static long _getOffset(TimeZone timezone) {
Calendar cal = Calendar.getInstance();
cal.setTimeZone(timezone);
return cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET);
}
-
}
Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java Wed Jan 27 10:04:44 2016
@@ -28,6 +28,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.Map;
import java.util.TimeZone;
@@ -533,7 +534,7 @@ public class Admin {
ConfigurationDao cfgDao = getApplicationContext(ctxName).getBean(ConfigurationDao.class);
if (invalidPassword(cfg.password, cfgDao)) {
System.out.print("Please enter password for the user '" + cfg.username + "':");
- cfg.password = new BufferedReader(new InputStreamReader(System.in)).readLine();
+ cfg.password = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8)).readLine();
if (invalidPassword(cfg.password, cfgDao)) {
System.out.println("Password was not provided, or too short, should be at least " + getMinPasswdLength(cfgDao) + " character long.");
System.exit(1);
Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java Wed Jan 27 10:04:44 2016
@@ -18,7 +18,10 @@
*/
package org.apache.openmeetings.installation;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.nio.charset.StandardCharsets;
import org.apache.openmeetings.util.OmFileHelper;
import org.dom4j.Document;
@@ -38,9 +41,11 @@ public class InstallationDocumentHandler
step.addElement("stepnumber").addText(stepNo.toString());
step.addElement("stepname").addText("Step " + stepNo);
- XMLWriter writer = new XMLWriter(new FileWriter(OmFileHelper.getInstallFile()));
- writer.write(document);
- writer.close();
+ try (OutputStream os = new FileOutputStream(OmFileHelper.getInstallFile())) {
+ XMLWriter writer = new XMLWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8));
+ writer.write(document);
+ writer.close();
+ }
}
public static int getCurrentStepNumber() throws Exception {
Modified: openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java?rev=1726989&r1=1726988&r2=1726989&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java (original)
+++ openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java Wed Jan 27 10:04:44 2016
@@ -117,6 +117,9 @@ public class IcalHandler {
TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance().createRegistry();
TimeZone timeZone = registry.getTimeZone(javaTzId);
+ if (timeZone == null) {
+ throw new Exception("Unable to get time zone by id provided: " + javaTzId);
+ }
DateTime start = new DateTime(startDate);
start.setTimeZone(timeZone);