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/26 05:49:18 UTC

svn commit: r1726727 [2/2] - in /openmeetings/application: branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/ branches/3.1.x/op...

Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/WhiteboardMapToSVG.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/WhiteboardMapToSVG.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/WhiteboardMapToSVG.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/WhiteboardMapToSVG.java Tue Jan 26 04:49:17 2016
@@ -56,250 +56,249 @@ public class WhiteboardMapToSVG extends
 		
 		//log.debug("convertMapToSVG: "+whiteBoardMap.size());
 		
-        for (Iterator iter = whiteBoardMap.iterator();iter.hasNext();) {
-        	
-        	List graphObject = (List) iter.next();
-        	
-        	String graphType = graphObject.get(0).toString();
-        	
-        	//log.debug("graphType: "+graphType);
-        	
-        	if (graphType.equals("paint")) {
-        		
-        		List pointsList = (List) graphObject.get(1);
-        		
-        		Integer lineWidth = Integer.valueOf(graphObject.get(3).toString());
-        		Integer col = Integer.valueOf(graphObject.get(4).toString());
-        		
-        		Float alpha = Float.valueOf(graphObject.get(5).toString());
-        		
-        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
-        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
-        		
-        		//log.debug("x,y,width,height: "+x+","+y+","+width+","+height);
-        		
-        		//Draw a Painting
-    	        SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
-    	        //SVGGraphics2D svgGenerator2 = new SVGGraphics2D(document);
-    	         
-    	        log.debug("pointsList: "+pointsList);
-    	        this.drawPointsObject(svgGenerator_temp, pointsList, new Color(col), lineWidth, x, y, alpha);
-    	        
-        	} else if (graphType.equals("rectangle")) {
-        		
-        		/*actionObject[0] = 'rectangle';
-		        actionObject[1] = stroke;
-		        actionObject[2] = line;
-		        actionObject[3] = fill;
-		        actionObject[4] = strokeDis;
-		        actionObject[5] = fillDis;
-		        actionObject[6] = this.currentrectangleOpacity;*/
-        		
-        		Integer lineWidth = Integer.valueOf(graphObject.get(2).toString());
-        		
-        		Integer stroke = Integer.valueOf(graphObject.get(1).toString());
-        		Integer strokeDis= Integer.valueOf(graphObject.get(4).toString());
-        		
-        		Color strokeColor = null;
-        		if (strokeDis != -1) {
-        			strokeColor = new Color(stroke);
-        		}
-        		
-        		Integer fill = Integer.valueOf(graphObject.get(3).toString());
-        		Integer fillDis= Integer.valueOf(graphObject.get(5).toString());
-        		
-        		Color fillColor = null;
-        		if (fillDis != -1) {
-        			fillColor = new Color(fill);
-        		}
-        		
-        		Float alpha = Float.valueOf(graphObject.get(6).toString());
-        		
-        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
-        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
-        		Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString());
-        		Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString());
-        	
-        		SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
-        		this.paintRect2D(svgGenerator_temp, x, y, width, height, strokeColor, lineWidth, fillColor, alpha);
-        		
-        	} else if (graphType.equals("ellipse")) {
-        		
-        		Integer lineWidth = Integer.valueOf(graphObject.get(2).toString());
-        		
-        		Integer stroke = Integer.valueOf(graphObject.get(1).toString());
-        		Integer strokeDis= Integer.valueOf(graphObject.get(4).toString());
-        		
-        		Color strokeColor = null;
-        		if (strokeDis != -1) {
-        			strokeColor = new Color(stroke);
-        		}
-        		
-        		Integer fill = Integer.valueOf(graphObject.get(3).toString());
-        		Integer fillDis= Integer.valueOf(graphObject.get(5).toString());
-        		
-        		Color fillColor = null;
-        		if (fillDis != -1) {
-        			fillColor = new Color(fill);
-        		}
-        		
-        		Float alpha = Float.valueOf(graphObject.get(6).toString());
-        		
-        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
-        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
-        		Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString());
-        		Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString());
-        	
-        		SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
-        		this.paintEllipse2D(svgGenerator_temp, x, y, width, height, strokeColor, lineWidth, fillColor, alpha);
-        		
-        	} else if (graphType.equals("letter")) {
-        		
-        		String text = graphObject.get(1).toString();
-        		Color fontColor = new Color (Integer.valueOf(graphObject.get(2).toString()));
-        		Integer fontSize = Integer.valueOf(graphObject.get(3).toString());
-        		
-        		String fontStyle = graphObject.get(4).toString();
-        		Integer style = null;
-        		if (fontStyle.equals("plain")) {
-        			style = Font.PLAIN;
-        		} else if (fontStyle.equals("bold")) {
-        			style = Font.BOLD;
-        		} else if (fontStyle.equals("italic")) {
-        			style = Font.ITALIC;
-        		} else if (fontStyle.equals("bolditalic")) {
-        			style = Font.ITALIC+Font.BOLD;
-        		}
-        		
-        		log.debug("fontStyle,style "+style+" fs: "+fontStyle);
-        		
-        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
-        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
-        		Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString());
-        		Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString());
-        		
-        		SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
-        		paintTextByWidthHeight(svgGenerator_temp, (int) Math.round(x), (int) Math.round(y), (int) Math.round(width), 
-        					(int) Math.round(height), text, style, fontSize, fontColor);
-        		
-        	} else if (graphType.equals("drawarrow")) {
-        		
-        		Integer thickness = Integer.valueOf(graphObject.get(2).toString());
-        		
-        		Integer stroke = Integer.valueOf(graphObject.get(1).toString());
-        		Integer strokeDis= Integer.valueOf(graphObject.get(4).toString());
-        		
-        		Color strokeColor = null;
-        		if (strokeDis != -1) {
-        			strokeColor = new Color(stroke);
-        		}
-        		
-        		Integer fill = Integer.valueOf(graphObject.get(3).toString());
-        		Integer fillDis= Integer.valueOf(graphObject.get(5).toString());
-        		
-        		Color fillColor = null;
-        		if (fillDis != -1) {
-        			fillColor = new Color(fill);
-        		}
-        		
-        		Float alpha = Float.valueOf(graphObject.get(6).toString());
-        		
-        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
-        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
-        		//Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
-        		//Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
-        		
-        		Double x1 = Double.valueOf(graphObject.get(7).toString());
-        		Double y1 = Double.valueOf(graphObject.get(8).toString());
-        		Double x2 = Double.valueOf(graphObject.get(9).toString());
-        		Double y2 = Double.valueOf(graphObject.get(10).toString());
-        		
-        		GeomPoint start = new GeomPoint();
-    	        start.setLocation(x+x1,y+y1);
-    	        GeomPoint end = new GeomPoint();
-    	        end.setLocation(x+x2,y+y2);
-    	        
-    	        SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
-    	        this.drawArrow(svgGenerator_temp, start, end, thickness, alpha, strokeColor,fillColor);
-        	} else if (graphType.equals("image")) {
-        		
-        		//log.debug("graphObject image "+graphObject);
-        		//log.debug("",graphObject);
-        		
-        		String room = graphObject.get(6).toString();
-        		String parentPath = graphObject.get(5).toString();
-        		String fileItemName = graphObject.get(3).toString();
-        		
-        		File imageFile = new File(OmFileHelper.getUploadDir(), room);
-        		
-        		if (parentPath.length() > 1) {
-        			imageFile = new File(imageFile, parentPath);
-        		}
-        		
-        		//log.debug("fileItemName: "+fileItemName);
-        		
-        		File myFile = new File(imageFile, fileItemName);
-        		
-        		if (myFile.exists() && myFile.canRead()) {
-        			
-        			Image myImage = ImageIO.read(myFile);
-        			
-        			int x = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-5).toString()));
-        			int y = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-4).toString()));
-        			int width = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-3).toString()));
-        			int height = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-2).toString()));
-	        		
-	        		SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
-	        		svgGenerator_temp.drawImage(myImage, x, y, width, height, null);
-        			
-        		} else {
-        			log.error("tried to inculde a non existing File into SVG/Image Export Path: " + myFile);
-        		}
-        		
-        	} else if(graphType.equals("line") || graphType.equals("uline")) {
-        		
-//        		actionObject[0] = 'line';
-//                actionObject[1] = stroke;
-//                actionObject[2] = line;
-//                actionObject[3] = opacity;
-//                actionObject[4] = x1  
-//                actionObject[5] = y1;  
-//                actionObject[6] = x2;    
-//                actionObject[7] = y2;    
-//                actionObject[8] = this.counter; 
-//                actionObject[9] = x;
-//                actionObject[10] = y;
-//                actionObject[11] = width;
-//                actionObject[12] = height;  
-//                actionObject[13] = newName;
-        		
-    			Integer lineWidth = Integer.valueOf(graphObject.get(2).toString());
-        		
-        		Integer stroke = Integer.valueOf(graphObject.get(1).toString());
-        		Color strokeColor = new Color(stroke);
-        		
-        		Float alpha = Float.valueOf(graphObject.get(3).toString());
-        		
-        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
-        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
-        		//Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
-        		//Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
+		for (Iterator iter = whiteBoardMap.iterator();iter.hasNext();) {
+			
+			List graphObject = (List) iter.next();
+			
+			String graphType = graphObject.get(0).toString();
+			
+			//log.debug("graphType: "+graphType);
+			
+			if (graphType.equals("paint")) {
+				
+				List pointsList = (List) graphObject.get(1);
+				
+				Integer lineWidth = Integer.valueOf(graphObject.get(3).toString());
+				Integer col = Integer.valueOf(graphObject.get(4).toString());
+				
+				Float alpha = Float.valueOf(graphObject.get(5).toString());
+				
+				Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
+				Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
+				
+				//log.debug("x,y,width,height: "+x+","+y+","+width+","+height);
+				
+				//Draw a Painting
+				SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+				//SVGGraphics2D svgGenerator2 = new SVGGraphics2D(document);
+				 
+				log.debug("pointsList: "+pointsList);
+				this.drawPointsObject(svgGenerator_temp, pointsList, new Color(col), lineWidth, x, y, alpha);
+				
+			} else if (graphType.equals("rectangle")) {
+				
+				/*actionObject[0] = 'rectangle';
+				actionObject[1] = stroke;
+				actionObject[2] = line;
+				actionObject[3] = fill;
+				actionObject[4] = strokeDis;
+				actionObject[5] = fillDis;
+				actionObject[6] = this.currentrectangleOpacity;*/
+				
+				Integer lineWidth = Integer.valueOf(graphObject.get(2).toString());
+				
+				Integer stroke = Integer.valueOf(graphObject.get(1).toString());
+				Integer strokeDis= Integer.valueOf(graphObject.get(4).toString());
+				
+				Color strokeColor = null;
+				if (strokeDis != -1) {
+					strokeColor = new Color(stroke);
+				}
+				
+				Integer fill = Integer.valueOf(graphObject.get(3).toString());
+				Integer fillDis= Integer.valueOf(graphObject.get(5).toString());
+				
+				Color fillColor = null;
+				if (fillDis != -1) {
+					fillColor = new Color(fill);
+				}
+				
+				Float alpha = Float.valueOf(graphObject.get(6).toString());
+				
+				Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
+				Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
+				Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString());
+				Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString());
+			
+				SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+				this.paintRect2D(svgGenerator_temp, x, y, width, height, strokeColor, lineWidth, fillColor, alpha);
+				
+			} else if (graphType.equals("ellipse")) {
+				
+				Integer lineWidth = Integer.valueOf(graphObject.get(2).toString());
+				
+				Integer stroke = Integer.valueOf(graphObject.get(1).toString());
+				Integer strokeDis= Integer.valueOf(graphObject.get(4).toString());
+				
+				Color strokeColor = null;
+				if (strokeDis != -1) {
+					strokeColor = new Color(stroke);
+				}
+				
+				Integer fill = Integer.valueOf(graphObject.get(3).toString());
+				Integer fillDis= Integer.valueOf(graphObject.get(5).toString());
+				
+				Color fillColor = null;
+				if (fillDis != -1) {
+					fillColor = new Color(fill);
+				}
+				
+				Float alpha = Float.valueOf(graphObject.get(6).toString());
+				
+				Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
+				Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
+				Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString());
+				Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString());
+			
+				SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+				this.paintEllipse2D(svgGenerator_temp, x, y, width, height, strokeColor, lineWidth, fillColor, alpha);
+				
+			} else if (graphType.equals("letter")) {
+				
+				String text = graphObject.get(1).toString();
+				Color fontColor = new Color (Integer.valueOf(graphObject.get(2).toString()));
+				Integer fontSize = Integer.valueOf(graphObject.get(3).toString());
+				
+				String fontStyle = graphObject.get(4).toString();
+				Integer style = null;
+				if (fontStyle.equals("plain")) {
+					style = Font.PLAIN;
+				} else if (fontStyle.equals("bold")) {
+					style = Font.BOLD;
+				} else if (fontStyle.equals("italic")) {
+					style = Font.ITALIC;
+				} else if (fontStyle.equals("bolditalic")) {
+					style = Font.ITALIC+Font.BOLD;
+				}
+				
+				log.debug("fontStyle,style "+style+" fs: "+fontStyle);
+				
+				Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
+				Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
+				Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString());
+				Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString());
+				
+				SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+				paintTextByWidthHeight(svgGenerator_temp, (int) Math.round(x), (int) Math.round(y), (int) Math.round(width), 
+							(int) Math.round(height), text, style, fontSize, fontColor);
+				
+			} else if (graphType.equals("drawarrow")) {
+				
+				Integer thickness = Integer.valueOf(graphObject.get(2).toString());
+				
+				Integer stroke = Integer.valueOf(graphObject.get(1).toString());
+				Integer strokeDis= Integer.valueOf(graphObject.get(4).toString());
+				
+				Color strokeColor = null;
+				if (strokeDis != -1) {
+					strokeColor = new Color(stroke);
+				}
+				
+				Integer fill = Integer.valueOf(graphObject.get(3).toString());
+				Integer fillDis= Integer.valueOf(graphObject.get(5).toString());
+				
+				Color fillColor = null;
+				if (fillDis != -1) {
+					fillColor = new Color(fill);
+				}
+				
+				Float alpha = Float.valueOf(graphObject.get(6).toString());
+				
+				Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
+				Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
+				//Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
+				//Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
+				
+				Double x1 = Double.valueOf(graphObject.get(7).toString());
+				Double y1 = Double.valueOf(graphObject.get(8).toString());
+				Double x2 = Double.valueOf(graphObject.get(9).toString());
+				Double y2 = Double.valueOf(graphObject.get(10).toString());
+				
+				GeomPoint start = new GeomPoint();
+				start.setLocation(x+x1,y+y1);
+				GeomPoint end = new GeomPoint();
+				end.setLocation(x+x2,y+y2);
+				
+				SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+				this.drawArrow(svgGenerator_temp, start, end, thickness, alpha, strokeColor,fillColor);
+			} else if (graphType.equals("image")) {
+				
+				//log.debug("graphObject image "+graphObject);
+				//log.debug("",graphObject);
+				
+				String room = graphObject.get(6).toString();
+				String parentPath = graphObject.get(5).toString();
+				String fileItemName = graphObject.get(3).toString();
+				
+				File imageFile = new File(OmFileHelper.getUploadDir(), room);
+				
+				if (parentPath.length() > 1) {
+					imageFile = new File(imageFile, parentPath);
+				}
+				
+				//log.debug("fileItemName: "+fileItemName);
+				
+				File myFile = new File(imageFile, fileItemName);
+				
+				if (myFile.exists() && myFile.canRead()) {
+					Image myImage = ImageIO.read(myFile);
+					if (myImage != null) {
+						int x = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-5).toString()));
+						int y = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-4).toString()));
+						int width = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-3).toString()));
+						int height = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-2).toString()));
+						
+						SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+						svgGenerator_temp.drawImage(myImage, x, y, width, height, null);
+					}
+				} else {
+					log.error("tried to inculde a non existing File into SVG/Image Export Path: " + myFile);
+				}
+				
+			} else if(graphType.equals("line") || graphType.equals("uline")) {
+				
+//				actionObject[0] = 'line';
+//				actionObject[1] = stroke;
+//				actionObject[2] = line;
+//				actionObject[3] = opacity;
+//				actionObject[4] = x1  
+//				actionObject[5] = y1;  
+//				actionObject[6] = x2;	
+//				actionObject[7] = y2;	
+//				actionObject[8] = this.counter; 
+//				actionObject[9] = x;
+//				actionObject[10] = y;
+//				actionObject[11] = width;
+//				actionObject[12] = height;  
+//				actionObject[13] = newName;
+				
+				Integer lineWidth = Integer.valueOf(graphObject.get(2).toString());
+				
+				Integer stroke = Integer.valueOf(graphObject.get(1).toString());
+				Color strokeColor = new Color(stroke);
+				
+				Float alpha = Float.valueOf(graphObject.get(3).toString());
+				
+				Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString());
+				Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString());
+				//Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
+				//Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
 
-        		Double x1 = Double.valueOf(graphObject.get(4).toString());
-        		Double y1 = Double.valueOf(graphObject.get(5).toString());
-        		Double x2 = Double.valueOf(graphObject.get(6).toString());
-        		Double y2 = Double.valueOf(graphObject.get(7).toString());
-        		
-        		SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
-        		this.drawLine(svgGenerator_temp, x1, y1, x2, y2, strokeColor, lineWidth, x, y, alpha);
-        		
-        	} else {
-        		log.error("tried to include a non supported Graph-Object graphType: "+graphType);
-        	}
-        	
-        }
-        
-        return svgGenerator;
+				Double x1 = Double.valueOf(graphObject.get(4).toString());
+				Double y1 = Double.valueOf(graphObject.get(5).toString());
+				Double x2 = Double.valueOf(graphObject.get(6).toString());
+				Double y2 = Double.valueOf(graphObject.get(7).toString());
+				
+				SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+				this.drawLine(svgGenerator_temp, x1, y1, x2, y2, strokeColor, lineWidth, x, y, alpha);
+				
+			} else {
+				log.error("tried to include a non supported Graph-Object graphType: "+graphType);
+			}
+			
+		}
+		
+		return svgGenerator;
 	}
 
 }

Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/GeneratePDF.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/GeneratePDF.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/GeneratePDF.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/GeneratePDF.java Tue Jan 26 04:49:17 2016
@@ -18,6 +18,8 @@
  */
 package org.apache.openmeetings.core.documents;
 
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
 import java.io.File;
 import java.io.FilenameFilter;
 import java.util.ArrayList;
@@ -27,7 +29,6 @@ import org.apache.openmeetings.core.conv
 import org.apache.openmeetings.core.converter.GenerateThumbs;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.util.OmFileHelper;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.process.ConverterProcessResult;
 import org.apache.openmeetings.util.process.ConverterProcessResultList;
 import org.apache.openmeetings.util.process.ProcessHelper;
@@ -36,9 +37,7 @@ import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
 public class GeneratePDF {
-
-	private static final Logger log = Red5LoggerFactory.getLogger(
-			GeneratePDF.class, OpenmeetingsVariables.webAppRootKey);
+	private static final Logger log = Red5LoggerFactory.getLogger(GeneratePDF.class, webAppRootKey);
 
 	@Autowired
 	private GenerateThumbs generateThumbs;
@@ -107,11 +106,8 @@ public class GeneratePDF {
 	 */
 	public ConverterProcessResult doJodConvert(File fileFullPath, File destinationFolder, String outputfile) {
 		try {
-
-			String jodPath = configurationDao.getConfValue("jod.path",
-					String.class, "./jod");
-			String officePath = configurationDao.getConfValue(
-					"office.path", String.class, "");
+			String jodPath = configurationDao.getConfValue("jod.path", String.class, "./jod");
+			String officePath = configurationDao.getConfValue("office.path", String.class, "");
 
 			File jodFolder = new File(jodPath);
 			if (!jodFolder.exists() || !jodFolder.isDirectory()) {
@@ -126,20 +122,22 @@ public class GeneratePDF {
 			}
 			String jodConverterJar = "";
 
-			for (String jar : jodFolder.list(new FilenameFilter() {
+			String[] list = jodFolder.list(new FilenameFilter() {
 				public boolean accept(File file1, String name) {
 					return name.endsWith(".jar");
 				}
-			})) {
-				argv.add("-cp");
-				if (jar.startsWith("jodconverter")) {
-					jodConverterJar = jar;
+			});
+			if (list != null) {
+				for (String jar : list) {
+					argv.add("-cp");
+					if (jar.startsWith("jodconverter")) {
+						jodConverterJar = jar;
+					}
+					argv.add(new File(jodFolder, jar).getCanonicalPath());
 				}
-				argv.add(new File(jodFolder, jar).getCanonicalPath());
 			}
 			if (jodConverterJar.length() == 0) {
-				throw new Exception(
-						"Could not find jodConverter JAR file in JOD folder");
+				throw new Exception("Could not find jodConverter JAR file in JOD folder");
 			}
 
 			argv.add("-jar");

Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java Tue Jan 26 04:49:17 2016
@@ -368,7 +368,7 @@ public class LdapLoginManagement {
 			if (GroupMode.ATTRIBUTE == options.groupMode) {
 				String attr = getAttr(config, entry, CONFIGKEY_LDAP_KEY_GROUP, LDAP_KEY_GROUP);
 				if (!Strings.isEmpty(attr)) {
-					for (String g : attr.split("|")) {
+					for (String g : attr.split("\\|")) {
 						groups.add(new Dn(g));
 					}
 				}

Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java Tue Jan 26 04:49:17 2016
@@ -18,6 +18,8 @@
  */
 package org.apache.openmeetings.core.remote;
 
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Date;
@@ -39,7 +41,6 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.room.Client;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.OmFileHelper;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.crypt.MD5;
 import org.red5.logging.Red5LoggerFactory;
 import org.red5.server.api.IConnection;
@@ -56,9 +57,7 @@ import org.springframework.beans.factory
  * 
  */
 public class ConferenceLibrary implements IPendingServiceCallback {
-
-	private static final Logger log = Red5LoggerFactory.getLogger(
-			ConferenceLibrary.class, OpenmeetingsVariables.webAppRootKey);
+	private static final Logger log = Red5LoggerFactory.getLogger(ConferenceLibrary.class, webAppRootKey);
 
 	@Autowired
 	private ISessionManager sessionManager;
@@ -73,17 +72,13 @@ public class ConferenceLibrary implement
 	@Autowired
 	private WhiteboardManager whiteboardManagement;
 
-	public LibraryPresentation getPresentationPreviewFileExplorer(String SID,
-			String parentFolder) {
-
+	public LibraryPresentation getPresentationPreviewFileExplorer(String SID, String parentFolder) {
 		try {
-
 			Long users_id = sessiondataDao.checkSession(SID);
 
 			log.debug("#############users_id : " + users_id);
 
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-
 				File working_dir = new File(OmFileHelper.getUploadFilesDir(), parentFolder);
 				log.debug("############# working_dir : " + working_dir);
 
@@ -92,18 +87,14 @@ public class ConferenceLibrary implement
 				if (!file.exists()) {
 					throw new Exception(file.getCanonicalPath() + ": does not exist");
 				}
-
 				return LoadLibraryPresentation.parseLibraryFileToObject(file);
-
 			} else {
 				throw new Exception("not Authenticated");
 			}
-
 		} catch (Exception e) {
 			log.error("[getListOfFilesByAbsolutePath]", e);
 			return null;
 		}
-
 	}
 
 	/**
@@ -116,8 +107,7 @@ public class ConferenceLibrary implement
 	 * @param tObjectRef
 	 * @return - file-explorer Id in case of success, -1 otherwise
 	 */
-	public Long saveAsObject(String SID, Long room_id, String fileName,
-			Object tObjectRef) {
+	public Long saveAsObject(String SID, Long room_id, String fileName, Object tObjectRef) {
 		try {
 			Long users_id = sessiondataDao.checkSession(SID);
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
@@ -171,16 +161,18 @@ public class ConferenceLibrary implement
 			Long users_id = sessiondataDao.checkSession(SID);
 
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-
 				IConnection current = Red5.getConnectionLocal();
-				Client currentClient = this.sessionManager
-						.getClientByStreamId(current.getClient().getId(), null);
+				Client currentClient = sessionManager.getClientByStreamId(current.getClient().getId(), null);
 
 				if (currentClient == null) {
 					return;
 				}
 
 				FileExplorerItem fileExplorerItem = fileDao.get(fileId);
+				if (fileExplorerItem == null) {
+					log.warn("[loadWmlObject] Unable to load Wml file by Id {}", fileId);
+					return;
+				}
 
 				ArrayList roomItems = libraryWmlLoader.loadWmlFile(fileExplorerItem.getWmlFilePath());
 
@@ -188,20 +180,16 @@ public class ConferenceLibrary implement
 				whiteboardObjClear.put(2, "clear");
 				whiteboardObjClear.put(3, null);
 
-				whiteboardManagement.addWhiteBoardObjectById(
-						room_id, whiteboardObjClear, whiteboardId);
+				whiteboardManagement.addWhiteBoardObjectById(room_id, whiteboardObjClear, whiteboardId);
 
 				for (int k = 0; k < roomItems.size(); k++) {
-
 					ArrayList actionObject = (ArrayList) roomItems.get(k);
 
 					Map whiteboardObj = new HashMap();
 					whiteboardObj.put(2, "draw");
 					whiteboardObj.put(3, actionObject);
 
-					whiteboardManagement.addWhiteBoardObjectById(
-							room_id, whiteboardObj, whiteboardId);
-
+					whiteboardManagement.addWhiteBoardObjectById(room_id, whiteboardObj, whiteboardId);
 				}
 
 				Map<String, Object> sendObject = new HashMap<String, Object>();
@@ -212,9 +200,7 @@ public class ConferenceLibrary implement
 				for (IConnection conn : current.getScope().getClientConnections()) {
 					if (conn != null) {
 						if (conn instanceof IServiceCapableConnection) {
-							Client rcl = this.sessionManager
-									.getClientByStreamId(conn.getClient()
-											.getId(), null);
+							Client rcl = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
 							if ((rcl == null) || rcl.isScreenClient()) {
 								continue;
 							} else {
@@ -243,8 +229,7 @@ public class ConferenceLibrary implement
 		try {
 			Long users_id = sessiondataDao.checkSession(SID);
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-				return LibraryChartLoader.getInstance().loadChart(OmFileHelper.getUploadRoomDir(room_id.toString()),
-						fileName);
+				return LibraryChartLoader.getInstance().loadChart(OmFileHelper.getUploadRoomDir(room_id.toString()), fileName);
 			}
 		} catch (Exception err) {
 			log.error("[loadChartObject] ", err);
@@ -259,7 +244,6 @@ public class ConferenceLibrary implement
 	 */
 	public Long copyFileToCurrentRoom(String SID, Long flvFileExplorerId) {
 		try {
-
 			Long users_id = sessiondataDao.checkSession(SID);
 
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
@@ -267,28 +251,22 @@ public class ConferenceLibrary implement
 				IConnection current = Red5.getConnectionLocal();
 				String streamid = current.getClient().getId();
 
-				Client currentClient = this.sessionManager
-						.getClientByStreamId(streamid, null);
+				Client currentClient = sessionManager.getClientByStreamId(streamid, null);
 
 				Long room_id = currentClient.getRoomId();
 
 				if (room_id != null) {
-					File outputFullFlvFile = new File(OmFileHelper.getStreamsHibernateDir()
-						, "UPLOADFLV_" + flvFileExplorerId + ".flv");
+					File outputFullFlvFile = new File(OmFileHelper.getStreamsHibernateDir(), "UPLOADFLV_" + flvFileExplorerId + ".flv");
 
 					File targetFolder = OmFileHelper.getStreamsSubDir(room_id);
 
-					File targetFullFlvFile = new File(targetFolder
-						, "UPLOADFLV_" + flvFileExplorerId + ".flv");
+					File targetFullFlvFile = new File(targetFolder, "UPLOADFLV_" + flvFileExplorerId + ".flv");
 					if (outputFullFlvFile.exists() && !targetFullFlvFile.exists()) {
 						FileHelper.copy(outputFullFlvFile, targetFullFlvFile);
 					}
-
 					return 1L;
 				}
-
 			}
-
 		} catch (Exception err) {
 			log.error("[copyFileToCurrentRoom] ", err);
 		}
@@ -297,7 +275,5 @@ public class ConferenceLibrary implement
 
 	public void resultReceived(IPendingServiceCall arg0) {
 		// TODO Auto-generated method stub
-
 	}
-
 }

Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java Tue Jan 26 04:49:17 2016
@@ -206,23 +206,27 @@ public class MobileService {
 					c = sessionManager.addClientListItem(streamId, conn.getScope().getName(), conn.getRemotePort(),
 						conn.getRemoteAddress(), "", null);
 				}
-				
-				SessionVariablesUtil.initClient(conn.getClient(), c.getPublicSID());
-				c.setUserId(u.getId());
-				c.setFirstname(u.getFirstname());
-				c.setLastname(u.getLastname());
-				c.setMobile(true);
-				sessionManager.updateClientByStreamId(streamId, c, false, null);
-
-				add(result, "sid", sd.getSessionId());
-				add(result, "publicSid", c.getPublicSID());
-				add(result, "status", 0);
-				add(result, "userId", u.getId());
-				add(result, "firstname", u.getFirstname());
-				add(result, "lastname", u.getLastname());
-				add(result, "login", u.getLogin());
-				add(result, "email", u.getAddress() == null ? "" : u.getAddress().getEmail());
-				add(result, "language", u.getLanguageId()); //TODO rights
+				if (c == null) {
+					// Failed to create client
+					result.put("status", -1);
+				} else {
+					SessionVariablesUtil.initClient(conn.getClient(), c.getPublicSID());
+					c.setUserId(u.getId());
+					c.setFirstname(u.getFirstname());
+					c.setLastname(u.getLastname());
+					c.setMobile(true);
+					sessionManager.updateClientByStreamId(streamId, c, false, null);
+	
+					add(result, "sid", sd.getSessionId());
+					add(result, "publicSid", c.getPublicSID());
+					add(result, "status", 0);
+					add(result, "userId", u.getId());
+					add(result, "firstname", u.getFirstname());
+					add(result, "lastname", u.getLastname());
+					add(result, "login", u.getLogin());
+					add(result, "email", u.getAddress() == null ? "" : u.getAddress().getEmail());
+					add(result, "language", u.getLanguageId()); //TODO rights
+				}
 			}
 		}
 		return result;

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=1726727&r1=1726726&r2=1726727&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 Tue Jan 26 04:49:17 2016
@@ -1216,54 +1216,52 @@ public class ScopeApplicationAdapter ext
 				sessionManager.updateClientByStreamId(streamid, currentClient, false, null);
 			} else {
 				// If this is an Appointment then the Moderator will be set to the Invitor
-
 				Appointment ment = appointmentDao.getByRoom(roomId);
-
 				Long userIdInRoomClient = currentClient.getUserId();
-
 				boolean found = false;
 				boolean moderator_set = false;
-				// First check owner who is not in the members list
-				if (ment.getOwner().getId().equals(userIdInRoomClient)) {
-					found = true;
-					log.debug("User "
-							+ userIdInRoomClient
-							+ " is moderator due to flag in MeetingMember record");
-					currentClient.setIsMod(true);
-					moderator_set = true;
-
-					// Update the Client List
-					sessionManager.updateClientByStreamId(streamid, currentClient, false, null);
-
-					List<Client> modRoomList = sessionManager.getCurrentModeratorByRoom(currentClient.getRoomId());
-
-					// There is a need to send an extra Event here, cause at this moment 
-					// there could be already somebody in the Room waiting
-
-					//Sync message to everybody
-					sendMessageToCurrentScope("setNewModeratorByList", modRoomList, false);
-				}
-				if (!found) {
-					// Check if current user is set to moderator
-					for (MeetingMember member : ment.getMeetingMembers()) {
-						// only persistent users can schedule a meeting
-						// user-id is only set for registered users
-						if (member.getUser() != null) {
-							log.debug("checking user " + member.getUser().getFirstname()
-									+ " for moderator role - ID : "
-									+ member.getUser().getId());
+				if (ment != null) {
+					// First check owner who is not in the members list
+					if (ment.getOwner().getId().equals(userIdInRoomClient)) {
+						found = true;
+						log.debug("User "
+								+ userIdInRoomClient
+								+ " is moderator due to flag in MeetingMember record");
+						currentClient.setIsMod(true);
+						moderator_set = true;
 	
-							if (member.getUser().getId().equals(userIdInRoomClient)) {
-								found = true;
-								log.debug("User " + userIdInRoomClient+ " is NOT moderator due to flag in MeetingMember record");
-								currentClient.setIsMod(false);
-								sessionManager.updateClientByStreamId(streamid, currentClient, false, null);
-								break;
+						// Update the Client List
+						sessionManager.updateClientByStreamId(streamid, currentClient, false, null);
+	
+						List<Client> modRoomList = sessionManager.getCurrentModeratorByRoom(currentClient.getRoomId());
+	
+						// There is a need to send an extra Event here, cause at this moment 
+						// there could be already somebody in the Room waiting
+	
+						//Sync message to everybody
+						sendMessageToCurrentScope("setNewModeratorByList", modRoomList, false);
+					}
+					if (!found) {
+						// Check if current user is set to moderator
+						for (MeetingMember member : ment.getMeetingMembers()) {
+							// only persistent users can schedule a meeting
+							// user-id is only set for registered users
+							if (member.getUser() != null) {
+								log.debug("checking user " + member.getUser().getFirstname()
+										+ " for moderator role - ID : "
+										+ member.getUser().getId());
+		
+								if (member.getUser().getId().equals(userIdInRoomClient)) {
+									found = true;
+									log.debug("User " + userIdInRoomClient+ " is NOT moderator due to flag in MeetingMember record");
+									currentClient.setIsMod(false);
+									sessionManager.updateClientByStreamId(streamid, currentClient, false, null);
+									break;
+								}
 							}
 						}
 					}
 				}
-
 				if (!found) {
 					log.debug("User "
 							+ userIdInRoomClient

Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java Tue Jan 26 04:49:17 2016
@@ -208,9 +208,10 @@ public class FileExplorerItemDao {
 		log.debug("rename started");
 
 		FileExplorerItem f = get(id);
-
+		if (f == null) {
+			return null;
+		}
 		f.setName(name);
-
 		return update(f);
 	}
 
@@ -245,6 +246,9 @@ public class FileExplorerItemDao {
 		log.debug(".move() started");
 
 		FileExplorerItem f = get(id);
+		if (f == null) {
+			return null;
+		}
 
 		if (parentId < 0) {
 			if (parentId == -1) {

Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserContactDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserContactDao.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserContactDao.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserContactDao.java Tue Jan 26 04:49:17 2016
@@ -80,7 +80,7 @@ public class UserContactDao {
 				.setParameter("userId", userId)
 				.setParameter("ownerId", ownerId)
 				.getResultList();
-		log.info("number of contacts:: " + ll.size());
+		log.info("number of contacts:: " + (ll == null ? null : ll.size()));
 		return ll != null && ll.size() == 1 ? ll.get(0) : null;
 	}
 	

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java Tue Jan 26 04:49:17 2016
@@ -31,6 +31,7 @@ import org.apache.openmeetings.core.remo
 import org.apache.openmeetings.db.dao.server.ISessionManager;
 import org.apache.openmeetings.db.dao.user.IUserService;
 import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.admin.AdminPanel;
 import org.apache.openmeetings.web.admin.SearchableDataView;
 import org.apache.openmeetings.web.app.Application;
@@ -152,7 +153,8 @@ public class ConnectionsPanel extends Ad
 			protected void populateItem(final Item<org.apache.openmeetings.web.app.Client> item) {
 				org.apache.openmeetings.web.app.Client c = item.getModelObject();
 				item.add(new Label("id", c.getUserId()));
-				item.add(new Label("login", getBean(UserService.class).getUserById(getSid(), c.getUserId()).getLogin()));
+				User u = getBean(UserService.class).getUserById(getSid(), c.getUserId());
+				item.add(new Label("login", u == null ? null : u.getLogin()));
 				item.add(new Label("since", c.getConnectedSince()));
 				item.add(new Label("scope", "hibernate"));
 				item.add(new ConfirmableAjaxBorder("kick", getString("603"), getString("605")) {
@@ -161,8 +163,7 @@ public class ConnectionsPanel extends Ad
 					@Override
 					protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
 						org.apache.openmeetings.web.app.Client c = item.getModelObject();
-						getBean(IUserService.class).kickUserBySessionId(getSid(), c.getUserId()
-								, c.getSessionId());
+						getBean(IUserService.class).kickUserBySessionId(getSid(), c.getUserId(), c.getSessionId());
 						target.add(containerWeb, details.setVisible(false));
 					}
 				}.setEnabled(!c.getSessionId().equals(WebSession.get().getId())));

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java Tue Jan 26 04:49:17 2016
@@ -32,6 +32,7 @@ import java.io.Serializable;
 import java.net.URI;
 import java.sql.Connection;
 import java.sql.DriverManager;
+import java.sql.PreparedStatement;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -267,7 +268,9 @@ public class InstallWizard extends Abstr
 							sql = "SELECT 1";
 							break;
 					}
-					valid &= conn.prepareStatement(sql).execute();
+					try (PreparedStatement ps = conn.prepareStatement(sql)) {
+						valid &= ps.execute();
+					}
 					if (!valid) {
 						form.error(getString("install.wizard.db.step.notvalid") + "<br/>" + getString("install.wizard.db.step.instructions." + props.getDbType().name()));
 					}
@@ -286,6 +289,11 @@ public class InstallWizard extends Abstr
 			try {
 				ConnectionPropertiesPatcher.patch(getModelObject());
 				XmlWebApplicationContext ctx = (XmlWebApplicationContext)getWebApplicationContext(Application.get().getServletContext());
+				if (ctx == null) {
+					form.error(new StringResourceModel("install.wizard.db.step.error.patch", InstallWizard.this).setParameters("Web context is NULL").getObject());
+					log.error("Web context is NULL");
+					return;
+				}
 				LocalEntityManagerFactoryBean emb = ctx.getBeanFactory().getBean(LocalEntityManagerFactoryBean.class);
 				emb.afterPropertiesSet();
 				dbType = getModelObject().getDbType();

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java Tue Jan 26 04:49:17 2016
@@ -98,6 +98,9 @@ public class StartSharingEventBehavior e
 			String publicSid = getParam(getComponent(), PARAM_PUBLIC_SID).toString();
 			SessionManager sessionManager = getBean(SessionManager.class);
 			Client rc = sessionManager.getClientByPublicSID(publicSid, null);//TODO not necessary
+			if (rc == null) {
+				throw new RuntimeException(String.format("Unable to find client by publicSID '%s'", publicSid));
+			}
 			String path = url.getPath();
 			path = path.substring(path.lastIndexOf('/') + 1);
 			if (Strings.isEmpty(path) || rc.getRoomId() == null || !path.equals(rc.getRoomId().toString()) || !rc.getRoomId().equals(roomId)) {

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java Tue Jan 26 04:49:17 2016
@@ -217,7 +217,10 @@ public class ChatPanel extends BasePanel
 		for (Client c : getRoomUsers(m.getToRoom().getId())) {
 			try {
 				if (!m.isNeedModeration() || (m.isNeedModeration() && c.hasRight(Client.Right.moderator))) {
-					reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId())).sendMessage(msg);
+					IWebSocketConnection con = reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId()));
+					if (con != null) {
+						con.sendMessage(msg);
+					}
 				}
 			} catch (Exception e) {
 				log.error("Error while sending message to room", e);
@@ -276,7 +279,10 @@ public class ChatPanel extends BasePanel
 							IWebSocketConnectionRegistry reg = WebSocketSettings.Holder.get(Application.get()).getConnectionRegistry();
 							for (Client c : Application.getClients(getUserId())) {
 								try {
-									reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId())).sendMessage(msg);
+									IWebSocketConnection con = reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId()));
+									if (con != null) {
+										con.sendMessage(msg);
+									}
 								} catch (Exception e) {
 									log.error("Error while sending message to room", e);
 								}
@@ -284,7 +290,10 @@ public class ChatPanel extends BasePanel
 							msg = getMessage(m.getToUser().getId(), Arrays.asList(m)).toString();
 							for (Client c : Application.getClients(m.getToUser().getId())) {
 								try {
-									reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId())).sendMessage(msg);
+									IWebSocketConnection con = reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId()));
+									if (con != null) {
+										con.sendMessage(msg);
+									}
 								} catch (Exception e) {
 									log.error("Error while sending message to room", e);
 								}

Modified: openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java?rev=1726727&r1=1726726&r2=1726727&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java (original)
+++ openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java Tue Jan 26 04:49:17 2016
@@ -160,7 +160,8 @@ public class CalendarWebService {
 		try {
 			Long userId = sessionDao.checkSession(sid);
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-				return new AppointmentDTO(appointmentDao.getNext(userId, new Date()));
+				Appointment a = appointmentDao.getNext(userId, new Date());
+				return a == null ? null : new AppointmentDTO(a);
 			} else {
 				throw new ServiceException("Insufficient permissions"); //TODO code -26
 			}
@@ -189,7 +190,8 @@ public class CalendarWebService {
 		try {
 			Long authUserId = sessionDao.checkSession(sid);
 			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(authUserId))) {
-				return new AppointmentDTO(appointmentDao.getNext(userid, new Date()));
+				Appointment a = appointmentDao.getNext(userid, new Date());
+				return a == null ? null : new AppointmentDTO(a);
 			} else {
 				throw new ServiceException("Insufficient permissions"); //TODO code -26
 			}