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 2012/03/06 17:25:35 UTC
svn commit: r1297562 - in /incubator/openmeetings/trunk/singlewebapp/src:
app/org/openmeetings/app/data/flvrecord/listener/
app/org/openmeetings/app/data/record/ app/org/openmeetings/app/documents/
app/org/openmeetings/app/remote/red5/ app/org/openmeet...
Author: solomax
Date: Tue Mar 6 16:25:34 2012
New Revision: 1297562
URL: http://svn.apache.org/viewvc?rev=1297562&view=rev
Log:
Upload controllers are generalized, compilation warnings are hided
Added:
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/AbstractUploadController.java
Modified:
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/record/BatikMethods.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/record/WhiteboardMapToSVG.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/documents/GenerateSWF.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/WhiteBoardObjectListManager.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/WhiteBoardObjectListManagerById.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/BackupImportController.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/ImportController.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/UploadController.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/ImportHelper.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/crypt/MD5Crypt.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/mappings/CastMapToObject.java
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java
incubator/openmeetings/trunk/singlewebapp/src/red5-screenshare/org/red5/screen/webstart/CommonScreenShare.java
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java Tue Mar 6 16:25:34 2012
@@ -28,7 +28,6 @@ import org.openmeetings.app.data.flvreco
import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaDelta;
import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
import org.red5.io.ITag;
-import org.red5.io.flv.impl.FLVWriter;
import org.red5.io.flv.impl.Tag;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/record/BatikMethods.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/record/BatikMethods.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/record/BatikMethods.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/record/BatikMethods.java Tue Mar 6 16:25:34 2012
@@ -68,6 +68,7 @@ public class BatikMethods {
}
+ @SuppressWarnings("rawtypes")
public void drawPointsObject(Graphics2D g2d, List pointsList, Color lineColor, int size,
double xObj, double yObj, float alpha) throws Exception {
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/record/WhiteboardMapToSVG.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/record/WhiteboardMapToSVG.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/record/WhiteboardMapToSVG.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/record/WhiteboardMapToSVG.java Tue Mar 6 16:25:34 2012
@@ -51,6 +51,7 @@ public class WhiteboardMapToSVG extends
return instance;
}
+ @SuppressWarnings("rawtypes")
public SVGGraphics2D convertMapToSVG(SVGGraphics2D svgGenerator, List whiteBoardMap) throws Exception {
//log.debug("convertMapToSVG: "+whiteBoardMap.size());
@@ -74,8 +75,6 @@ public class WhiteboardMapToSVG extends
Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString()).doubleValue();
Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString()).doubleValue();
- Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
- Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
//log.debug("x,y,width,height: "+x+","+y+","+width+","+height);
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/documents/GenerateSWF.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/documents/GenerateSWF.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/documents/GenerateSWF.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/documents/GenerateSWF.java Tue Mar 6 16:25:34 2012
@@ -178,7 +178,6 @@ public class GenerateSWF {
private final InputStream stderr;
private final InputStreamReader isr;
private final BufferedReader br;
- public String message;
private InputStreamWatcher(Process process) {
stderr = process.getInputStream();
@@ -197,11 +196,6 @@ public class GenerateSWF {
return;
}
}
-
- public String getOutputString() {
- return message;
- }
-
}
private String getPathToSwfTools() {
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/WhiteBoardObjectListManager.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/WhiteBoardObjectListManager.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/WhiteBoardObjectListManager.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/WhiteBoardObjectListManager.java Tue Mar 6 16:25:34 2012
@@ -60,17 +60,9 @@ public class WhiteBoardObjectListManager
/*
* Room items a Whiteboard
*/
+ @SuppressWarnings("rawtypes")
public synchronized HashMap<String,List> getWhiteBoardObjectListByRoomId(Long room_id){
- WhiteboardObject whiteBoardObject = whiteBoardObjectList.get(room_id);
- if (whiteBoardObject == null) {
- whiteBoardObject = new WhiteboardObject();
- }
- //HashMap<String,List>roomList = whiteBoardObject.getObjList();
- HashMap<String,List>roomList = null;
- if (roomList == null) {
- roomList = new HashMap<String,List>();
- }
- return roomList;
+ return new HashMap<String,List>();
}
/*
@@ -147,7 +139,7 @@ public class WhiteBoardObjectListManager
whiteBoardObjectList.put(room_id, whiteBoardObject);
}
- public synchronized void setWhiteBoardObjectListRoomObj(Long room_id, HashMap<String,List> roomList){
+ public synchronized void setWhiteBoardObjectListRoomObj(Long room_id, @SuppressWarnings("rawtypes") HashMap<String,List> roomList){
WhiteboardObject whiteBoardObject = whiteBoardObjectList.get(room_id);
if (whiteBoardObject == null) {
whiteBoardObject = new WhiteboardObject();
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/WhiteBoardObjectListManagerById.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/WhiteBoardObjectListManagerById.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/WhiteBoardObjectListManagerById.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/WhiteBoardObjectListManagerById.java Tue Mar 6 16:25:34 2012
@@ -19,14 +19,12 @@
package org.openmeetings.app.remote.red5;
import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.slf4j.Logger;
-import org.red5.logging.Red5LoggerFactory;
+import org.openmeetings.app.OpenmeetingsVariables;
import org.openmeetings.app.conference.whiteboard.WhiteboardObject;
import org.openmeetings.app.conference.whiteboard.WhiteboardObjectList;
-import org.openmeetings.app.conference.whiteboard.WhiteboardSyncLockObject;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
public class WhiteBoardObjectListManagerById {
@@ -38,11 +36,12 @@ public class WhiteBoardObjectListManager
//
// private static HashMap<Long,Map<String,Map<String,WhiteboardSyncLockObject>>> whiteBoardObjectSyncList = new HashMap<Long,Map<String,Map<String,WhiteboardSyncLockObject>>>();
- private static final Logger log = Red5LoggerFactory.getLogger(WhiteBoardObjectListManagerById.class, "openmeetings");
+ private static final Logger log = Red5LoggerFactory.getLogger(WhiteBoardObjectListManagerById.class, OpenmeetingsVariables.webAppRootKey);
private static WhiteBoardObjectListManagerById instance = null;
private WhiteBoardObjectListManagerById() {
+ log.debug("WhiteBoardObjectListManagerById is constructed");
}
public static synchronized WhiteBoardObjectListManagerById getInstance() {
Added: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/AbstractUploadController.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/AbstractUploadController.java?rev=1297562&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/AbstractUploadController.java (added)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/AbstractUploadController.java Tue Mar 6 16:25:34 2012
@@ -0,0 +1,103 @@
+package org.openmeetings.servlet.outputhandler;
+
+import java.util.HashMap;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.utils.ImportHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.context.ServletContextAware;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+
+public abstract class AbstractUploadController implements ServletContextAware {
+ private static final Logger log = Red5LoggerFactory.getLogger(
+ AbstractUploadController.class, OpenmeetingsVariables.webAppRootKey);
+ protected ServletContext context;
+ @Autowired
+ protected Sessionmanagement sessionManagement;
+ @Autowired
+ protected Usermanagement userManagement;
+ @Autowired
+ protected AuthLevelmanagement authLevelManagement;
+ @Autowired
+ protected Configurationmanagement cfgManagement;
+
+ public void setServletContext(ServletContext arg0) {
+ context = arg0;
+ }
+
+ protected enum UploadParams {
+ pFile
+ , pUserId
+ , pSID
+ , pPublicSID
+ }
+
+ protected <T> T getParam(HashMap<UploadParams, Object> params, UploadParams param, Class<T> type) {
+ return getParam(params, param);
+ }
+
+ @SuppressWarnings("unchecked")
+ protected <T> T getParam(HashMap<UploadParams, Object> params, UploadParams param) {
+ return params.containsKey(param) ? (T)params.get(param) : null;
+ }
+
+ protected HashMap<UploadParams, Object> validate(HttpServletRequest request, boolean admin) throws ServletException {
+ HashMap<UploadParams, Object> params = new HashMap<UploadParams, Object>();
+ log.debug("Starting validate");
+ try {
+
+ String sid = request.getParameter("sid");
+ if (sid == null) {
+ throw new ServletException("SID Missing");
+ }
+ params.put(UploadParams.pSID, sid);
+ log.debug("sid: " + sid);
+
+ Long userId = sessionManagement.checkSession(sid);
+ Long userLevel = userManagement.getUserLevelByID(userId);
+ log.debug("userId = " + userId + ", userLevel = " + userLevel);
+ params.put(UploadParams.pUserId, userId);
+
+ if ((admin && !authLevelManagement.checkAdminLevel(userLevel))
+ || (!admin && userLevel <= 0)) {
+ throw new ServletException("Insufficient permissions "
+ + userLevel);
+ }
+
+ String publicSID = request.getParameter("publicSID");
+ if (publicSID == null) {
+ // Always ask for Public SID
+ throw new ServletException("Missing publicSID");
+ }
+ log.debug("publicSID: " + publicSID);
+ params.put(UploadParams.pPublicSID, publicSID);
+
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
+ MultipartFile multipartFile = multipartRequest.getFile("Filedata");
+ long fileSize = multipartFile.getSize();
+ long maxSize = ImportHelper.getMaxUploadSize(cfgManagement);
+ log.debug("uploading " + fileSize + " bytes");
+ if (fileSize > maxSize) {
+ throw new ServletException("Maximum upload size: " + maxSize + " exceeded: " + fileSize);
+ }
+ params.put(UploadParams.pFile, multipartFile);
+ } catch (ServletException e) {
+ throw e;
+ } catch (Exception e) {
+ log.error("Exception during upload: ", e);
+ throw new ServletException(e);
+ }
+ return params;
+ }
+}
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/BackupImportController.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/BackupImportController.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/BackupImportController.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/BackupImportController.java Tue Mar 6 16:25:34 2012
@@ -35,7 +35,6 @@ import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
-import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -45,9 +44,6 @@ import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.openmeetings.app.OpenmeetingsVariables;
-import org.openmeetings.app.data.basic.AuthLevelmanagement;
-import org.openmeetings.app.data.basic.Configurationmanagement;
-import org.openmeetings.app.data.basic.Sessionmanagement;
import org.openmeetings.app.data.basic.dao.LdapConfigDaoImpl;
import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
import org.openmeetings.app.data.calendar.daos.AppointmentCategoryDaoImpl;
@@ -62,7 +58,6 @@ import org.openmeetings.app.data.flvreco
import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;
import org.openmeetings.app.data.user.Organisationmanagement;
import org.openmeetings.app.data.user.Statemanagement;
-import org.openmeetings.app.data.user.Usermanagement;
import org.openmeetings.app.data.user.dao.PrivateMessageFolderDaoImpl;
import org.openmeetings.app.data.user.dao.PrivateMessagesDaoImpl;
import org.openmeetings.app.data.user.dao.UserContactsDaoImpl;
@@ -98,10 +93,9 @@ import org.springframework.stereotype.Co
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest;
@Controller
-public class BackupImportController {
+public class BackupImportController extends AbstractUploadController {
private static final Logger log = Red5LoggerFactory.getLogger(
BackupImportController.class, OpenmeetingsVariables.webAppRootKey);
@@ -109,12 +103,6 @@ public class BackupImportController {
@Autowired
private AppointmentDaoImpl appointmentDao;
@Autowired
- private Sessionmanagement sessionManagement;
- @Autowired
- private Configurationmanagement cfgManagement;
- @Autowired
- private Usermanagement userManagement;
- @Autowired
private Statemanagement statemanagement;
@Autowired
private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
@@ -149,8 +137,6 @@ public class BackupImportController {
@Autowired
private ScopeApplicationAdapter scopeApplicationAdapter;
@Autowired
- private AuthLevelmanagement authLevelManagement;
- @Autowired
private PollManagement pollManagement;
private final HashMap<Long, Long> usersMap = new HashMap<Long, Long>();
@@ -166,364 +152,338 @@ public class BackupImportController {
};
@RequestMapping(value = "/backup.upload", method = RequestMethod.POST)
- public void service(HttpServletRequest httpServletRequest,
+ public void service(HttpServletRequest request,
HttpServletResponse httpServletResponse)
throws ServletException, IOException {
- try {
-
- if (httpServletRequest.getContentLength() > 0) {
+ HashMap<UploadParams, Object> params = validate(request, true);
+ try {
+ String current_dir = context.getRealPath("/");
+ String working_dir = current_dir + "upload"
+ + File.separatorChar + "import"
+ + File.separatorChar;
+ File working_dirFile = new File(working_dir);
+ if (!working_dirFile.exists()) {
+ working_dirFile.mkdir();
+ }
+
+ MultipartFile multipartFile = getParam(params, UploadParams.pFile);
+ InputStream is = multipartFile.getInputStream();
+ String fileSystemName = multipartFile.getOriginalFilename();
+
+ StringUtils.deleteWhitespace(fileSystemName);
+
+ int dotidx = fileSystemName.lastIndexOf('.');
+ String newFileSystemName = StringComparer.getInstance()
+ .compareForRealPaths(
+ fileSystemName.substring(0, dotidx));
+
+ String completeName = working_dir + newFileSystemName;
+
+ File f = new File(completeName + File.separatorChar);
+
+ if (f.exists()) {
+ int recursiveNumber = 0;
+ String tempd = completeName + "_" + recursiveNumber;
+ while (f.exists()) {
+ recursiveNumber++;
+ tempd = completeName + "_" + recursiveNumber;
+ f = new File(tempd + File.separatorChar);
- String sid = httpServletRequest.getParameter("sid");
- if (sid == null) {
- sid = "default";
- throw new Exception("SID Missing");
}
+ completeName = tempd;
+ }
- String publicSID = httpServletRequest.getParameter("publicSID");
- if (publicSID == null) {
- publicSID = "default";
- throw new Exception("publicSID Missing");
- }
-
- log.debug("uploading........ sid: " + sid);
-
- Long users_id = sessionManagement.checkSession(sid);
- Long user_level = userManagement.getUserLevelByID(users_id);
-
- if (authLevelManagement.checkAdminLevel(user_level)) {
+ f.mkdir();
- String current_dir = httpServletRequest.getRealPath("/");
- String working_dir = current_dir + "upload"
- + File.separatorChar + "import"
- + File.separatorChar;
- File working_dirFile = new File(working_dir);
- if (!working_dirFile.exists()) {
- working_dirFile.mkdir();
- }
+ log.debug("##### WRITE FILE TO: " + completeName);
- DefaultMultipartHttpServletRequest multipartRequest = new DefaultMultipartHttpServletRequest(httpServletRequest);
- MultipartFile multipartFile = multipartRequest.getFile("Filedata");
- InputStream is = multipartFile.getInputStream();
- String fileSystemName = multipartFile.getOriginalFilename();
+ ZipInputStream zipinputstream = new ZipInputStream(is);
+ byte[] buf = new byte[1024];
- StringUtils.deleteWhitespace(fileSystemName);
+ ZipEntry zipentry = zipinputstream.getNextEntry();
- int dotidx = fileSystemName.lastIndexOf('.');
- String newFileSystemName = StringComparer.getInstance()
- .compareForRealPaths(
- fileSystemName.substring(0, dotidx));
+ while (zipentry != null) {
+ // for each entry to be extracted
+ String entryName = completeName + File.separatorChar
+ + zipentry.getName();
+ entryName = entryName.replace('/', File.separatorChar);
+ entryName = entryName.replace('\\', File.separatorChar);
- String completeName = working_dir + newFileSystemName;
+ // log.debug("entryname " + entryName);
- File f = new File(completeName + File.separatorChar);
+ // zipentry.get
- if (f.exists()) {
- int recursiveNumber = 0;
- String tempd = completeName + "_" + recursiveNumber;
- while (f.exists()) {
- recursiveNumber++;
- tempd = completeName + "_" + recursiveNumber;
- f = new File(tempd + File.separatorChar);
+ int n;
+ FileOutputStream fileoutputstream;
+ File newFile = new File(entryName);
- }
- completeName = tempd;
+ if (zipentry.isDirectory()) {
+ if (!newFile.mkdir()) {
+ break;
}
+ zipentry = zipinputstream.getNextEntry();
+ continue;
+ }
- f.mkdir();
-
- log.debug("##### WRITE FILE TO: " + completeName);
-
- ZipInputStream zipinputstream = new ZipInputStream(is);
- byte[] buf = new byte[1024];
-
- ZipEntry zipentry = zipinputstream.getNextEntry();
-
- while (zipentry != null) {
- // for each entry to be extracted
- String entryName = completeName + File.separatorChar
- + zipentry.getName();
- entryName = entryName.replace('/', File.separatorChar);
- entryName = entryName.replace('\\', File.separatorChar);
-
- // log.debug("entryname " + entryName);
-
- // zipentry.get
-
- int n;
- FileOutputStream fileoutputstream;
- File newFile = new File(entryName);
-
- if (zipentry.isDirectory()) {
- if (!newFile.mkdir()) {
- break;
- }
- zipentry = zipinputstream.getNextEntry();
- continue;
- }
-
- File fentryName = new File(entryName);
-
- File fparent = new File(fentryName.getParent());
-
- if (!fparent.exists()) {
-
- File fparentparent = new File(fparent.getParent());
+ File fentryName = new File(entryName);
- if (!fparentparent.exists()) {
+ File fparent = new File(fentryName.getParent());
- File fparentparentparent = new File(
- fparentparent.getParent());
+ if (!fparent.exists()) {
- if (!fparentparentparent.exists()) {
+ File fparentparent = new File(fparent.getParent());
- fparentparentparent.mkdir();
- fparentparent.mkdir();
- fparent.mkdir();
+ if (!fparentparent.exists()) {
- } else {
+ File fparentparentparent = new File(
+ fparentparent.getParent());
- fparentparent.mkdir();
- fparent.mkdir();
+ if (!fparentparentparent.exists()) {
- }
-
- } else {
+ fparentparentparent.mkdir();
+ fparentparent.mkdir();
+ fparent.mkdir();
- fparent.mkdir();
-
- }
-
- }
+ } else {
- fileoutputstream = new FileOutputStream(entryName);
+ fparentparent.mkdir();
+ fparent.mkdir();
- while ((n = zipinputstream.read(buf, 0, 1024)) > -1) {
- fileoutputstream.write(buf, 0, n);
}
- fileoutputstream.close();
- zipinputstream.closeEntry();
- zipentry = zipinputstream.getNextEntry();
-
- }// while
-
- zipinputstream.close();
-
- /*
- * ##################### Import Organizations
- */
- String orgListXML = completeName + File.separatorChar
- + "organizations.xml";
- File orgFile = new File(orgListXML);
- if (!orgFile.exists()) {
- throw new Exception("organizations.xml missing");
- }
- this.importOrganizsations(orgFile);
-
- log.info("Organizations import complete, starting user import");
-
- /*
- * ##################### Import Users
- */
- String userListXML = completeName + File.separatorChar
- + "users.xml";
- File userFile = new File(userListXML);
- if (!userFile.exists()) {
- throw new Exception("users.xml missing");
- }
- this.importUsers(userFile);
-
- log.info("Users import complete, starting room import");
-
- /*
- * ##################### Import Rooms
- */
- String roomListXML = completeName + File.separatorChar
- + "rooms.xml";
- File roomFile = new File(roomListXML);
- if (!roomFile.exists()) {
- throw new Exception("rooms.xml missing");
- }
- this.importRooms(roomFile);
-
- log.info("Room import complete, starting room organizations import");
-
- /*
- * ##################### Import Room Organisations
- */
- String orgRoomListXML = completeName + File.separatorChar
- + "rooms_organisation.xml";
- File orgRoomListFile = new File(orgRoomListXML);
- if (!orgRoomListFile.exists()) {
- throw new Exception("rooms_organisation.xml missing");
- }
- this.importOrgRooms(orgRoomListFile);
-
- log.info("Room organizations import complete, starting appointement import");
-
- /*
- * ##################### Import Appointements
- */
- String appointementListXML = completeName
- + File.separatorChar + "appointements.xml";
- File appointementListFile = new File(appointementListXML);
- if (!appointementListFile.exists()) {
- throw new Exception("appointements.xml missing");
- }
- this.importAppointements(appointementListFile);
-
- log.info("Appointement import complete, starting meeting members import");
-
- /*
- * ##################### Import MeetingMembers
- *
- * Reminder Invitations will be NOT send!
- */
- String meetingmembersListXML = completeName
- + File.separatorChar + "meetingmembers.xml";
- File meetingmembersListFile = new File(
- meetingmembersListXML);
- if (!meetingmembersListFile.exists()) {
- throw new Exception("meetingmembersListFile missing");
- }
- this.importMeetingmembers(meetingmembersListFile);
-
- log.info("Meeting members import complete, starting ldap config import");
-
- /*
- * ##################### Import LDAP Configs
- */
- String ldapConfigListXML = completeName
- + File.separatorChar + "ldapconfigs.xml";
- File ldapConfigListFile = new File(ldapConfigListXML);
- if (!ldapConfigListFile.exists()) {
- log.debug("meetingmembersListFile missing");
- // throw new Exception
- // ("meetingmembersListFile missing");
- } else {
- this.importLdapConfig(ldapConfigListFile);
- }
-
- log.info("Ldap config import complete, starting recordings import");
-
- /*
- * ##################### Import Recordings
- */
- String flvRecordingsListXML = completeName
- + File.separatorChar + "flvRecordings.xml";
- File flvRecordingsListFile = new File(flvRecordingsListXML);
- if (!flvRecordingsListFile.exists()) {
- log.debug("flvRecordingsListFile missing");
- // throw new Exception
- // ("meetingmembersListFile missing");
- } else {
- this.importFlvRecordings(flvRecordingsListFile);
- }
-
- log.info("FLVrecording import complete, starting private message folder import");
-
- /*
- * ##################### Import Private Message Folders
- */
- String privateMessageFoldersXML = completeName
- + File.separatorChar + "privateMessageFolder.xml";
- File privateMessageFoldersFile = new File(
- privateMessageFoldersXML);
- if (!privateMessageFoldersFile.exists()) {
- log.debug("privateMessageFoldersFile missing");
- // throw new Exception
- // ("meetingmembersListFile missing");
} else {
- this.importPrivateMessageFolders(privateMessageFoldersFile);
- }
- log.info("Private message folder import complete, starting private message import");
+ fparent.mkdir();
- /*
- * ##################### Import Private Messages
- */
- String privateMessagesXML = completeName
- + File.separatorChar + "privateMessages.xml";
- File privateMessagesFile = new File(privateMessagesXML);
- if (!privateMessagesFile.exists()) {
- log.debug("privateMessagesFile missing");
- // throw new Exception
- // ("meetingmembersListFile missing");
- } else {
- this.importPrivateMessages(privateMessagesFile);
}
- log.info("Private message import complete, starting usercontact import");
-
- /*
- * ##################### Import User Contacts
- */
- String userContactsXML = completeName + File.separatorChar
- + "userContacts.xml";
- File userContactsFile = new File(userContactsXML);
- if (!userContactsFile.exists()) {
- log.debug("userContactsFile missing");
- // throw new Exception
- // ("meetingmembersListFile missing");
- } else {
- this.importUserContacts(userContactsFile);
- }
-
- log.info("Usercontact import complete, starting file explorer item import");
-
- /*
- * ##################### Import File-Explorer Items
- */
- String fileExplorerListXML = completeName
- + File.separatorChar + "fileExplorerItems.xml";
- File fileExplorerListFile = new File(fileExplorerListXML);
- if (!fileExplorerListFile.exists()) {
- log.debug("fileExplorerListFile missing");
- // throw new Exception
- // ("meetingmembersListFile missing");
- } else {
- this.importFileExplorerItems(fileExplorerListFile);
- }
-
- log.info("File explorer item import complete, starting file poll import");
-
- /*
- * ##################### Import File-Explorer Items
- */
- String roomPollListXML = completeName + File.separatorChar
- + "roompolls.xml";
- File roomPollListFile = new File(roomPollListXML);
- if (!roomPollListFile.exists()) {
- log.debug("roomPollListFile missing");
- } else {
- this.importRoomPolls(roomPollListFile);
- }
-
- log.info("Poll import complete, starting copy of files and folders");
-
- /*
- * ##################### Import real files and folders
- */
- importFolders(current_dir, completeName);
-
- log.info("File explorer item import complete, clearing temp files");
-
- this.deleteDirectory(f);
-
- LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
- hs.put("user", usersDao.getUser(users_id));
- hs.put("message", "library");
- hs.put("action", "import");
- hs.put("error", "");
- hs.put("fileName", completeName);
+ }
- scopeApplicationAdapter.sendMessageWithClientByPublicSID(
- hs, publicSID);
+ fileoutputstream = new FileOutputStream(entryName);
+ while ((n = zipinputstream.read(buf, 0, 1024)) > -1) {
+ fileoutputstream.write(buf, 0, n);
}
- }
+ fileoutputstream.close();
+ zipinputstream.closeEntry();
+ zipentry = zipinputstream.getNextEntry();
+
+ }// while
+
+ zipinputstream.close();
+
+ /*
+ * ##################### Import Organizations
+ */
+ String orgListXML = completeName + File.separatorChar
+ + "organizations.xml";
+ File orgFile = new File(orgListXML);
+ if (!orgFile.exists()) {
+ throw new Exception("organizations.xml missing");
+ }
+ this.importOrganizsations(orgFile);
+
+ log.info("Organizations import complete, starting user import");
+
+ /*
+ * ##################### Import Users
+ */
+ String userListXML = completeName + File.separatorChar
+ + "users.xml";
+ File userFile = new File(userListXML);
+ if (!userFile.exists()) {
+ throw new Exception("users.xml missing");
+ }
+ this.importUsers(userFile);
+
+ log.info("Users import complete, starting room import");
+
+ /*
+ * ##################### Import Rooms
+ */
+ String roomListXML = completeName + File.separatorChar
+ + "rooms.xml";
+ File roomFile = new File(roomListXML);
+ if (!roomFile.exists()) {
+ throw new Exception("rooms.xml missing");
+ }
+ this.importRooms(roomFile);
+
+ log.info("Room import complete, starting room organizations import");
+
+ /*
+ * ##################### Import Room Organisations
+ */
+ String orgRoomListXML = completeName + File.separatorChar
+ + "rooms_organisation.xml";
+ File orgRoomListFile = new File(orgRoomListXML);
+ if (!orgRoomListFile.exists()) {
+ throw new Exception("rooms_organisation.xml missing");
+ }
+ this.importOrgRooms(orgRoomListFile);
+
+ log.info("Room organizations import complete, starting appointement import");
+
+ /*
+ * ##################### Import Appointements
+ */
+ String appointementListXML = completeName
+ + File.separatorChar + "appointements.xml";
+ File appointementListFile = new File(appointementListXML);
+ if (!appointementListFile.exists()) {
+ throw new Exception("appointements.xml missing");
+ }
+ this.importAppointements(appointementListFile);
+
+ log.info("Appointement import complete, starting meeting members import");
+
+ /*
+ * ##################### Import MeetingMembers
+ *
+ * Reminder Invitations will be NOT send!
+ */
+ String meetingmembersListXML = completeName
+ + File.separatorChar + "meetingmembers.xml";
+ File meetingmembersListFile = new File(
+ meetingmembersListXML);
+ if (!meetingmembersListFile.exists()) {
+ throw new Exception("meetingmembersListFile missing");
+ }
+ this.importMeetingmembers(meetingmembersListFile);
+
+ log.info("Meeting members import complete, starting ldap config import");
+
+ /*
+ * ##################### Import LDAP Configs
+ */
+ String ldapConfigListXML = completeName
+ + File.separatorChar + "ldapconfigs.xml";
+ File ldapConfigListFile = new File(ldapConfigListXML);
+ if (!ldapConfigListFile.exists()) {
+ log.debug("meetingmembersListFile missing");
+ // throw new Exception
+ // ("meetingmembersListFile missing");
+ } else {
+ this.importLdapConfig(ldapConfigListFile);
+ }
+
+ log.info("Ldap config import complete, starting recordings import");
+
+ /*
+ * ##################### Import Recordings
+ */
+ String flvRecordingsListXML = completeName
+ + File.separatorChar + "flvRecordings.xml";
+ File flvRecordingsListFile = new File(flvRecordingsListXML);
+ if (!flvRecordingsListFile.exists()) {
+ log.debug("flvRecordingsListFile missing");
+ // throw new Exception
+ // ("meetingmembersListFile missing");
+ } else {
+ this.importFlvRecordings(flvRecordingsListFile);
+ }
+
+ log.info("FLVrecording import complete, starting private message folder import");
+
+ /*
+ * ##################### Import Private Message Folders
+ */
+ String privateMessageFoldersXML = completeName
+ + File.separatorChar + "privateMessageFolder.xml";
+ File privateMessageFoldersFile = new File(
+ privateMessageFoldersXML);
+ if (!privateMessageFoldersFile.exists()) {
+ log.debug("privateMessageFoldersFile missing");
+ // throw new Exception
+ // ("meetingmembersListFile missing");
+ } else {
+ this.importPrivateMessageFolders(privateMessageFoldersFile);
+ }
+
+ log.info("Private message folder import complete, starting private message import");
+
+ /*
+ * ##################### Import Private Messages
+ */
+ String privateMessagesXML = completeName
+ + File.separatorChar + "privateMessages.xml";
+ File privateMessagesFile = new File(privateMessagesXML);
+ if (!privateMessagesFile.exists()) {
+ log.debug("privateMessagesFile missing");
+ // throw new Exception
+ // ("meetingmembersListFile missing");
+ } else {
+ this.importPrivateMessages(privateMessagesFile);
+ }
+
+ log.info("Private message import complete, starting usercontact import");
+
+ /*
+ * ##################### Import User Contacts
+ */
+ String userContactsXML = completeName + File.separatorChar
+ + "userContacts.xml";
+ File userContactsFile = new File(userContactsXML);
+ if (!userContactsFile.exists()) {
+ log.debug("userContactsFile missing");
+ // throw new Exception
+ // ("meetingmembersListFile missing");
+ } else {
+ this.importUserContacts(userContactsFile);
+ }
+
+ log.info("Usercontact import complete, starting file explorer item import");
+
+ /*
+ * ##################### Import File-Explorer Items
+ */
+ String fileExplorerListXML = completeName
+ + File.separatorChar + "fileExplorerItems.xml";
+ File fileExplorerListFile = new File(fileExplorerListXML);
+ if (!fileExplorerListFile.exists()) {
+ log.debug("fileExplorerListFile missing");
+ // throw new Exception
+ // ("meetingmembersListFile missing");
+ } else {
+ this.importFileExplorerItems(fileExplorerListFile);
+ }
+
+ log.info("File explorer item import complete, starting file poll import");
+
+ /*
+ * ##################### Import File-Explorer Items
+ */
+ String roomPollListXML = completeName + File.separatorChar
+ + "roompolls.xml";
+ File roomPollListFile = new File(roomPollListXML);
+ if (!roomPollListFile.exists()) {
+ log.debug("roomPollListFile missing");
+ } else {
+ this.importRoomPolls(roomPollListFile);
+ }
+
+ log.info("Poll import complete, starting copy of files and folders");
+
+ /*
+ * ##################### Import real files and folders
+ */
+ importFolders(current_dir, completeName);
+
+ log.info("File explorer item import complete, clearing temp files");
+
+ this.deleteDirectory(f);
+
+ LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
+ hs.put("user", usersDao.getUser(getParam(params, UploadParams.pUserId, Long.class)));
+ hs.put("message", "library");
+ hs.put("action", "import");
+ hs.put("error", "");
+ hs.put("fileName", completeName);
+
+ scopeApplicationAdapter.sendMessageWithClientByPublicSID(
+ hs, getParam(params, UploadParams.pPublicSID, String.class));
} catch (Exception e) {
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/ImportController.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/ImportController.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/ImportController.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/ImportController.java Tue Mar 6 16:25:34 2012
@@ -18,8 +18,8 @@
*/
package org.openmeetings.servlet.outputhandler;
-import java.io.IOException;
import java.io.InputStream;
+import java.util.HashMap;
import java.util.LinkedHashMap;
import javax.servlet.ServletException;
@@ -27,9 +27,6 @@ import javax.servlet.http.HttpServletReq
import javax.servlet.http.HttpServletResponse;
import org.openmeetings.app.OpenmeetingsVariables;
-import org.openmeetings.app.data.basic.AuthLevelmanagement;
-import org.openmeetings.app.data.basic.Sessionmanagement;
-import org.openmeetings.app.data.user.Usermanagement;
import org.openmeetings.app.data.user.dao.UsersDaoImpl;
import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
import org.openmeetings.app.xmlimport.LanguageImport;
@@ -41,89 +38,56 @@ import org.springframework.stereotype.Co
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest;
@Controller
-public class ImportController {
+public class ImportController extends AbstractUploadController {
private static final Logger log = Red5LoggerFactory.getLogger(ImportController.class,
OpenmeetingsVariables.webAppRootKey);
@Autowired
- private Sessionmanagement sessionManagement;
- @Autowired
- private Usermanagement userManagement;
- @Autowired
private UsersDaoImpl usersDao;
@Autowired
private ScopeApplicationAdapter scopeApplicationAdapter;
@Autowired
private UserImport userImport;
@Autowired
- private AuthLevelmanagement authLevelManagement;
- @Autowired
private LanguageImport languageImport;
@RequestMapping(value = "/import.upload", method = RequestMethod.POST)
- protected void service(HttpServletRequest httpServletRequest,
- HttpServletResponse httpServletResponse) throws ServletException,
- IOException {
+ protected void service(HttpServletRequest request,
+ HttpServletResponse httpServletResponse) throws ServletException {
+ HashMap<UploadParams, Object> params = validate(request, true);
try {
- String sid = httpServletRequest.getParameter("sid");
- if (sid == null) {
- sid = "default";
- }
- log.debug("sid: " + sid);
-
- String moduleName = httpServletRequest.getParameter("moduleName");
+ String moduleName = request.getParameter("moduleName");
if (moduleName == null) {
moduleName = "moduleName";
}
log.debug("moduleName: " + moduleName);
- Long users_id = sessionManagement.checkSession(sid);
- Long user_level = userManagement.getUserLevelByID(users_id);
-
- String publicSID = httpServletRequest.getParameter("publicSID");
- if (publicSID == null) {
- // Always ask for Public SID
- return;
- }
-
- log.debug("users_id: " + users_id);
- log.debug("user_level: " + user_level);
- log.debug("moduleName: " + moduleName);
+ InputStream is = getParam(params, UploadParams.pFile, MultipartFile.class).getInputStream();
- // if (user_level!=null && user_level > 0) {
- if (authLevelManagement.checkAdminLevel(user_level)) {
- DefaultMultipartHttpServletRequest multipartRequest = new DefaultMultipartHttpServletRequest(httpServletRequest);
- MultipartFile multipartFile = multipartRequest.getFile("Filedata");
- InputStream is = multipartFile.getInputStream();
-
- if (moduleName.equals("users")) {
- log.error("Import Users");
- userImport.addUsersByDocument(is);
-
- } else if (moduleName.equals("language")) {
- log.error("Import Language");
- String language = httpServletRequest
- .getParameter("secondid");
- if (language == null) {
- language = "0";
- }
- Long language_id = Long.valueOf(language).longValue();
- log.debug("language_id: " + language_id);
-
- languageImport.addLanguageByDocument(
- language_id, is);
+ if (moduleName.equals("users")) {
+ log.error("Import Users");
+ userImport.addUsersByDocument(is);
+
+ } else if (moduleName.equals("language")) {
+ log.error("Import Language");
+ String language = request
+ .getParameter("secondid");
+ if (language == null) {
+ language = "0";
}
- } else {
- log.error("ERROR LangExport: not authorized FileDownload");
+ Long language_id = Long.valueOf(language).longValue();
+ log.debug("language_id: " + language_id);
+
+ languageImport.addLanguageByDocument(
+ language_id, is);
}
log.debug("Return And Close");
LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
- hs.put("user", usersDao.getUser(users_id));
+ hs.put("user", usersDao.getUser(getParam(params, UploadParams.pUserId, Long.class)));
hs.put("message", "library");
hs.put("action", "import");
@@ -131,13 +95,12 @@ public class ImportController {
log.debug("moduleName.equals(userprofile) ! ");
- scopeApplicationAdapter.sendMessageWithClientByPublicSID(hs,
- publicSID);
-
- return;
+ scopeApplicationAdapter.sendMessageWithClientByPublicSID(hs,
+ getParam(params, UploadParams.pPublicSID, String.class));
} catch (Exception er) {
- log.error("ERROR exporting:", er);
+ log.error("ERROR importing:", er);
+ throw new ServletException(er);
}
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/UploadController.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/UploadController.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/UploadController.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/UploadController.java Tue Mar 6 16:25:34 2012
@@ -14,10 +14,8 @@ import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils;
import org.openmeetings.app.OpenmeetingsVariables;
-import org.openmeetings.app.data.basic.Sessionmanagement;
import org.openmeetings.app.data.file.FileProcessor;
import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
-import org.openmeetings.app.data.user.Usermanagement;
import org.openmeetings.app.data.user.dao.UsersDaoImpl;
import org.openmeetings.app.documents.GenerateImage;
import org.openmeetings.app.documents.GeneratePDF;
@@ -33,18 +31,13 @@ import org.springframework.stereotype.Co
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
@Controller
-public class UploadController {
+public class UploadController extends AbstractUploadController {
private static final Logger log = Red5LoggerFactory.getLogger(
UploadController.class, OpenmeetingsVariables.webAppRootKey);
@Autowired
- private Sessionmanagement sessionManagement;
- @Autowired
- private Usermanagement userManagement;
- @Autowired
private UsersDaoImpl usersDao;
@Autowired
private ScopeApplicationAdapter scopeApplicationAdapter;
@@ -63,100 +56,122 @@ public class UploadController {
@RequestMapping(value = "/file.upload", method = RequestMethod.POST)
public void handleFileUpload(HttpServletRequest request, HttpServletResponse response, HttpSession session) throws ServletException {
- handleFormUpload(request, response, true);
+ HashMap<UploadParams, Object> params = validate(request, true);
+ try {
+ LinkedHashMap<String, Object> hs = prepareMessage(params);
+ String room_idAsString = request.getParameter("room_id");
+ if (room_idAsString == null) {
+ throw new ServletException("Missing Room ID");
+ }
+
+ Long room_id_to_Store = Long.parseLong(room_idAsString);
+
+ String isOwnerAsString = request.getParameter("isOwner");
+ if (isOwnerAsString == null) {
+ throw new ServletException("Missing isOwnerAsString");
+ }
+ boolean isOwner = false;
+ if (isOwnerAsString.equals("1")) {
+ isOwner = true;
+ }
+
+ String parentFolderIdAsString = request
+ .getParameter("parentFolderId");
+ if (parentFolderIdAsString == null) {
+ throw new ServletException("Missing parentFolderId ID");
+ }
+ Long parentFolderId = Long.parseLong(parentFolderIdAsString);
+
+ String current_dir = context.getRealPath("/");
+
+ MultipartFile multipartFile = getParam(params, UploadParams.pFile);
+ InputStream is = multipartFile.getInputStream();
+ String fileSystemName = multipartFile.getOriginalFilename();
+ log.debug("fileSystemName: " + fileSystemName);
+
+ HashMap<String, HashMap<String, String>> returnError = fileProcessor
+ .processFile(getParam(params, UploadParams.pUserId, Long.class), room_id_to_Store, isOwner, is,
+ parentFolderId, fileSystemName, current_dir, hs, 0L, ""); // externalFilesId,
+ // externalType
+
+ HashMap<String, String> returnAttributes = returnError
+ .get("returnAttributes");
+
+ // Flash cannot read the response of an upload
+ // httpServletResponse.getWriter().print(returnError);
+ hs.put("message", "library");
+ hs.put("action", "newFile");
+ hs.put("fileExplorerItem",
+ fileExplorerItemDao.getFileExplorerItemsById(
+ Long.parseLong(returnAttributes.get(
+ "fileExplorerItemId").toString())));
+ hs.put("error", returnError);
+ hs.put("fileName", returnAttributes.get("completeName"));
+ sendMessage(params, hs);
+ } catch (ServletException e) {
+ throw e;
+ } catch (Exception e) {
+ log.error("Exception during upload: ", e);
+ throw new ServletException(e);
+ }
}
@RequestMapping(value = "/upload.upload", method = RequestMethod.POST)
public void handleFormUpload(HttpServletRequest request, HttpServletResponse response) throws ServletException {
- handleFormUpload(request, response, false);
- }
-
- private void handleFormUpload(HttpServletRequest request, HttpServletResponse response, boolean isFileEx) throws ServletException {
- log.debug("starting upload");
try {
- int contentLength = request.getContentLength();
- if (contentLength <= 0) {
- log.debug("ContentLength = " + contentLength + ", aborted");
- return;
+ HashMap<UploadParams, Object> params = validate(request, true);
+ LinkedHashMap<String, Object> hs = prepareMessage(params);
+ String room_id = request.getParameter("room_id");
+ if (room_id == null) {
+ room_id = "default";
}
- log.debug("uploading " + contentLength + " bytes");
-
- String sid = request.getParameter("sid");
- if (sid == null) {
- throw new ServletException("Missing SID");
+ String roomName = StringUtils.deleteWhitespace(room_id);
+
+ String moduleName = request.getParameter("moduleName");
+ if (moduleName == null) {
+ moduleName = "nomodule";
}
- log.debug("sid: " + sid);
-
- Long userId = sessionManagement.checkSession(sid);
- Long userLevel = userManagement.getUserLevelByID(userId);
- log.debug("userId = " + userId + ", userLevel = " + userLevel);
-
- if (userLevel <= 0) {
- log.debug("insufficient user level " + userLevel);
+ if (moduleName.equals("nomodule")) {
+ log.debug("module name missed");
return;
}
-
- String publicSID = request.getParameter("publicSID");
- if (publicSID == null) {
- // Always ask for Public SID
- throw new ServletException("Missing publicSID");
- }
-
- LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
- hs.put("user", usersDao.getUser(userId));
-
- if (isFileEx) {
- fileExService(request, sid, userId, hs);
- } else {
- fileService(request, sid, userId, hs);
- }
- scopeApplicationAdapter.sendMessageWithClientByPublicSID(hs,
- publicSID);
+ boolean userProfile = moduleName.equals("userprofile");
+
+ MultipartFile multipartFile = getParam(params, UploadParams.pFile);
+ InputStream is = multipartFile.getInputStream();
+ String fileSystemName = multipartFile.getOriginalFilename();
+ fileSystemName = StringUtils.deleteWhitespace(fileSystemName);
+
+ // Flash cannot read the response of an upload
+ // httpServletResponse.getWriter().print(returnError);
+ uploadFile(request, userProfile, getParam(params, UploadParams.pUserId, Long.class), roomName, is, fileSystemName, hs);
+ sendMessage(params, hs);
+ } catch (ServletException e) {
+ throw e;
} catch (Exception e) {
- System.out.println("Exception during upload: " + e);
- e.printStackTrace();
+ log.error("Exception during upload: ", e);
throw new ServletException(e);
}
}
-
- private void fileService(HttpServletRequest request,
- String sid, Long userId, Map<String, Object> hs)
- throws ServletException, Exception {
-
- String room_id = request.getParameter("room_id");
- if (room_id == null) {
- room_id = "default";
- }
- String roomName = StringUtils.deleteWhitespace(room_id);
-
- String moduleName = request.getParameter("moduleName");
- if (moduleName == null) {
- moduleName = "nomodule";
- }
- if (moduleName.equals("nomodule")) {
- log.debug("module name missed");
- return;
- }
- boolean userProfile = moduleName.equals("userprofile");
-
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
- MultipartFile multipartFile = multipartRequest.getFile("Filedata");
- InputStream is = multipartFile.getInputStream();
- String fileSystemName = multipartFile.getOriginalFilename();
- fileSystemName = StringUtils.deleteWhitespace(fileSystemName);
-
- // Flash cannot read the response of an upload
- // httpServletResponse.getWriter().print(returnError);
- uploadFile(request, userProfile, userId, roomName, is, fileSystemName, hs);
- }
+ private LinkedHashMap<String, Object> prepareMessage(HashMap<UploadParams, Object> params) {
+ LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
+ hs.put("user", usersDao.getUser(getParam(params, UploadParams.pUserId, Long.class)));
+ return hs;
+ }
+
+ private void sendMessage(HashMap<UploadParams, Object> params, LinkedHashMap<String, Object> hs) {
+ scopeApplicationAdapter.sendMessageWithClientByPublicSID(hs,
+ getParam(params, UploadParams.pPublicSID, String.class));
+ }
+
private void uploadFile(HttpServletRequest request, boolean userProfile, Long userId, String roomName,
InputStream is, String fileSystemName, Map<String, Object> hs)
throws Exception {
HashMap<String, HashMap<String, String>> returnError = new HashMap<String, HashMap<String, String>>();
// Get the current user directory
- String currentDir = request.getRealPath("/");
+ String currentDir = context.getRealPath("/");
String workingDir = currentDir + "upload" + File.separatorChar
+ roomName + File.separatorChar;
log.debug("workingDir: " + workingDir);
@@ -281,35 +296,8 @@ public class UploadController {
boolean isEncrypted = true;
- // Check requires iText.jar => iText is AGPL and won't work with Apache Release
-// boolean isEncrypted = false;
-// try {
-// // Check if PDF is encrpyted
-// PdfReader pdfReader = new PdfReader(completeName
-// + newFileExtDot);
-//
-// log.debug("pdfReader.isEncrypted() :: "
-// + pdfReader.isEncrypted());
-//
-// log.debug("isMetadataEncrypted : "
-// + pdfReader.isMetadataEncrypted());
-// log.debug("is128Key : " + pdfReader.is128Key());
-// log.debug("isEncrypted : " + pdfReader.isEncrypted());
-//
-// if (pdfReader.isEncrypted()) {
-// isEncrypted = true;
-// }
-//
-// } catch (Exception err) {
-// log.error("isEncrypted ", err);
-// isEncrypted = true;
-// }
-
log.debug("isEncrypted :: " + isEncrypted);
- @SuppressWarnings("unused")
- HashMap<String, String> returnError2 = new HashMap<String, String>();
-
if (isEncrypted) {
// Do convert pdf to other pdf first
String inputfile = completeName + newFileExtDot;
@@ -319,8 +307,7 @@ public class UploadController {
String outputfile = completeName + newFileExtDot;
- returnError2 = generateThumbs.decodePDF(inputfile,
- outputfile);
+ generateThumbs.decodePDF(inputfile, outputfile);
File f_old = new File(inputfile);
if (f_old.exists()) {
@@ -417,60 +404,4 @@ public class UploadController {
subf.delete();
}
}
-
- private void fileExService(HttpServletRequest request,
- String sid, Long userId, Map<String, Object> hs)
- throws ServletException, Exception {
-
- String room_idAsString = request.getParameter("room_id");
- if (room_idAsString == null) {
- throw new ServletException("Missing Room ID");
- }
-
- Long room_id_to_Store = Long.parseLong(room_idAsString);
-
- String isOwnerAsString = request.getParameter("isOwner");
- if (isOwnerAsString == null) {
- throw new ServletException("Missing isOwnerAsString");
- }
- boolean isOwner = false;
- if (isOwnerAsString.equals("1")) {
- isOwner = true;
- }
-
- String parentFolderIdAsString = request
- .getParameter("parentFolderId");
- if (parentFolderIdAsString == null) {
- throw new ServletException("Missing parentFolderId ID");
- }
- Long parentFolderId = Long.parseLong(parentFolderIdAsString);
-
- String current_dir = request.getRealPath("/");
-
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
- MultipartFile multipartFile = multipartRequest.getFile("Filedata");
- InputStream is = multipartFile.getInputStream();
- String fileSystemName = multipartFile.getOriginalFilename();
- log.debug("fileSystemName: " + fileSystemName);
-
- HashMap<String, HashMap<String, String>> returnError = fileProcessor
- .processFile(userId, room_id_to_Store, isOwner, is,
- parentFolderId, fileSystemName, current_dir, hs, 0L, ""); // externalFilesId,
- // externalType
-
- HashMap<String, String> returnAttributes = returnError
- .get("returnAttributes");
-
- // Flash cannot read the response of an upload
- // httpServletResponse.getWriter().print(returnError);
- hs.put("message", "library");
- hs.put("action", "newFile");
- hs.put("fileExplorerItem",
- fileExplorerItemDao.getFileExplorerItemsById(
- Long.parseLong(returnAttributes.get(
- "fileExplorerItemId").toString())));
- hs.put("error", returnError);
- hs.put("fileName", returnAttributes.get("completeName"));
-
- }
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/ImportHelper.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/ImportHelper.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/ImportHelper.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/ImportHelper.java Tue Mar 6 16:25:34 2012
@@ -22,9 +22,10 @@ import org.openmeetings.app.Openmeetings
import org.openmeetings.app.data.basic.Configurationmanagement;
import org.openmeetings.app.persistence.beans.basic.Configuration;
import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
public class ImportHelper {
- private static final org.slf4j.Logger log = Red5LoggerFactory.getLogger(
+ private static final Logger log = Red5LoggerFactory.getLogger(
ImportHelper.class, OpenmeetingsVariables.webAppRootKey);
public static final int DEFAULT_MAX_UPLOAD_SIZE = 1024 * 1024 * 1024; // 1GB
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/crypt/MD5Crypt.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/crypt/MD5Crypt.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/crypt/MD5Crypt.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/crypt/MD5Crypt.java Tue Mar 6 16:25:34 2012
@@ -165,9 +165,10 @@ static private final void clearbits(byte
* with the unsigned value.
*/
+@SuppressWarnings("cast")
static private final int bytes2u(byte inp)
{
- return (int) inp & 0xff;
+ return ((int)inp) & 0xff;
}
/**
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/mappings/CastMapToObject.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/mappings/CastMapToObject.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/mappings/CastMapToObject.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/utils/mappings/CastMapToObject.java Tue Mar 6 16:25:34 2012
@@ -200,7 +200,8 @@ public class CastMapToObject {
log.error(fieldType.getName());
//Get value from set
- Object t = this.castByGivenObject((Map)valueOfHashMap, fieldType);
+ @SuppressWarnings("unchecked")
+ Object t = this.castByGivenObject((Map<String, ?>)valueOfHashMap, fieldType);
int mod = anyField.getModifiers();
if (Modifier.isPrivate(mod) && !Modifier.isFinal(mod)){
Modified: incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java Tue Mar 6 16:25:34 2012
@@ -19,7 +19,6 @@
package org.openmeetings.axis.services;
import java.util.Date;
-import java.util.LinkedList;
import java.util.List;
import org.openmeetings.app.OpenmeetingsVariables;
Modified: incubator/openmeetings/trunk/singlewebapp/src/red5-screenshare/org/red5/screen/webstart/CommonScreenShare.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/red5-screenshare/org/red5/screen/webstart/CommonScreenShare.java?rev=1297562&r1=1297561&r2=1297562&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/red5-screenshare/org/red5/screen/webstart/CommonScreenShare.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/red5-screenshare/org/red5/screen/webstart/CommonScreenShare.java Tue Mar 6 16:25:34 2012
@@ -38,7 +38,6 @@ import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSpinner;
-import javax.swing.UIManager;
import org.apache.mina.core.buffer.IoBuffer;
import org.red5.io.ITagReader;
@@ -415,6 +414,7 @@ public class CommonScreenShare {
textWarningArea.setText(warning);
}
+ @SuppressWarnings("unchecked")
synchronized public void sendCursorStatus() {
try {
@@ -437,6 +437,7 @@ public class CommonScreenShare {
Math.round(((mouseP.getY() - VirtualScreenBean.vScreenSpinnerY) * scaleFactor)
* Ampl_factor)).intValue();
+ @SuppressWarnings("rawtypes")
HashMap cursorPosition = new HashMap();
cursorPosition.put("publicSID", this.publishName);
cursorPosition.put("cursor_x", x);
@@ -453,11 +454,13 @@ public class CommonScreenShare {
}
}
+ @SuppressWarnings("unchecked")
synchronized public void setConnectionAsSharingClient() {
try {
logger.debug("########## setConnectionAsSharingClient");
+ @SuppressWarnings("rawtypes")
HashMap map = new HashMap();
map.put("screenX", VirtualScreenBean.vScreenSpinnerX);
map.put("screenY", VirtualScreenBean.vScreenSpinnerY);
@@ -506,11 +509,13 @@ public class CommonScreenShare {
}
}
+ @SuppressWarnings("unchecked")
private void captureScreenStop() {
try {
logger.debug("INVOKE screenSharerAction" );
+ @SuppressWarnings("rawtypes")
Map map = new HashMap();
map.put("stopStreaming", this.stopStreaming);
map.put("stopRecording", this.stopRecording);
@@ -608,6 +613,7 @@ public class CommonScreenShare {
logger.debug( "onStreamEvent " + notify );
+ @SuppressWarnings("rawtypes")
ObjectMap map = (ObjectMap) notify.getCall().getArguments()[0];
String code = (String) map.get("code");
@@ -624,6 +630,7 @@ public class CommonScreenShare {
// logger.debug("Result Map Type "+obj.getClass().getName());
+ @SuppressWarnings("rawtypes")
Map returnMap = (Map) obj;
// logger.debug("result "+returnMap.get("result"));
@@ -837,8 +844,6 @@ public class CommonScreenShare {
} else if (action.equals("show")) {
- Robot robot = new Robot();
-
String paste = this.getClipboardText();
HashMap<Integer, String> map = new HashMap<Integer, String>();
@@ -1014,6 +1019,7 @@ public class CommonScreenShare {
// logger.debug("Result Map Type "+o.getClass().getName());
+ @SuppressWarnings("rawtypes")
Map returnMap = (Map) o;
// logger.debug("result "+returnMap.get("result"));
@@ -1092,6 +1098,7 @@ public class CommonScreenShare {
logger.debug("Result Map Type " + o.getClass().getName());
+ @SuppressWarnings("rawtypes")
Map returnMap = (Map) o;
// logger.debug("result "+returnMap.get("result"));
@@ -1176,6 +1183,7 @@ public class CommonScreenShare {
private volatile long timestamp = 0;
private volatile boolean active = true;
+ @SuppressWarnings("unused")
private volatile boolean stopped = false;
private byte[] previousItems = null;
@@ -1213,12 +1221,6 @@ public class CommonScreenShare {
// Public
//
// ------------------------------------------------------------------------
-
- public void setOrigin(final int x, final int y) {
- this.x = x;
- this.y = y;
- }
-
public void start() {
stopped = false;
}