You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by vd...@apache.org on 2016/11/03 06:30:46 UTC
svn commit: r1767822 -
/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
Author: vdegtyarev
Date: Thu Nov 3 06:30:45 2016
New Revision: 1767822
URL: http://svn.apache.org/viewvc?rev=1767822&view=rev
Log:
OPENMEETINGS-1499 is fixed. BackupImport works as expected under OS Windows.
Modified:
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
Modified: openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java?rev=1767822&r1=1767821&r2=1767822&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java Thu Nov 3 06:30:45 2016
@@ -697,14 +697,16 @@ public class BackupImport {
throw new Exception(msg);
}
} else {
- InputNode root = NodeBuilder.read(new FileInputStream(xml));
- InputNode listNode = root.getNext();
- if (listNodeName.equals(listNode.getName())) {
- InputNode item = listNode.getNext();
- while (item != null) {
- T o = ser.read(clazz, item, false);
- list.add(o);
- item = listNode.getNext();
+ try (InputStream rootIs = new FileInputStream(xml)) {
+ InputNode root = NodeBuilder.read(rootIs);
+ InputNode listNode = root.getNext();
+ if (listNodeName.equals(listNode.getName())) {
+ InputNode item = listNode.getNext();
+ while (item != null) {
+ T o = ser.read(clazz, item, false);
+ list.add(o);
+ item = listNode.getNext();
+ }
}
}
}
@@ -738,66 +740,68 @@ public class BackupImport {
matcher.bind(Integer.class, IntegerTransform.class);
registry.bind(Date.class, DateConverter.class);
- InputNode root = NodeBuilder.read(new FileInputStream(xml));
- InputNode root1 = NodeBuilder.read(new FileInputStream(xml)); //HACK to handle old isFolder, isImage, isVideo, isRecording, isPresentation, isStoredWmlFile, isChart
- InputNode listNode = root.getNext();
- InputNode listNode1 = root1.getNext(); //HACK to handle old isFolder, isImage, isVideo, isRecording, isPresentation, isStoredWmlFile, isChart
- if (listNodeName.equals(listNode.getName())) {
- InputNode item = listNode.getNext();
- InputNode item1 = listNode1.getNext(); //HACK to handle old isFolder, isImage, isVideo, isRecording, isPresentation, isStoredWmlFile, isChart
- while (item != null) {
- FileExplorerItem f = ser.read(FileExplorerItem.class, item, false);
-
- boolean isFolder = false, isImage = false, isVideo = false, isPresentation = false, isStoredWmlFile = false, isChart = false;
- //HACK to handle old isFolder, isImage, isVideo, isRecording, isPresentation, isStoredWmlFile, isChart
- do {
- if ("isChart".equals(item1.getName()) && "true".equals(item1.getValue())) {
- isChart = true;
- }
- if ("isImage".equals(item1.getName()) && "true".equals(item1.getValue())) {
- isImage = true;
- }
- if ("isVideo".equals(item1.getName()) && "true".equals(item1.getValue())) {
- isVideo = true;
- }
- if ("isRecording".equals(item1.getName()) && "true".equals(item1.getValue())) {
- log.warn("Recording is stored in FileExplorer Items");
- isVideo = true;
- }
- if ("isPresentation".equals(item1.getName()) && "true".equals(item1.getValue())) {
- isPresentation = true;
- }
- if ("isStoredWmlFile".equals(item1.getName()) && "true".equals(item1.getValue())) {
- isStoredWmlFile = true;
- }
- if ("isFolder".equals(item1.getName()) && "true".equals(item1.getValue())) {
- isFolder = true;
- }
- item1 = listNode1.getNext(); //HACK to handle Address inside user
- } while (item1 != null && !"fileExplorerItem".equals(item1.getName()));
-
- if (f.getType() == null) {
- if (isChart) {
- f.setType(FileItem.Type.PollChart);
- }
- if (isImage) {
- f.setType(FileItem.Type.Image);
- }
- if (isVideo) {
- f.setType(FileItem.Type.Video);
- }
- if (isPresentation) {
- f.setType(FileItem.Type.Presentation);
- }
- if (isStoredWmlFile) {
- f.setType(FileItem.Type.WmlFile);
- }
- if (isFolder) {
- f.setType(FileItem.Type.Folder);
+ try (InputStream rootIs1 = new FileInputStream(xml); InputStream rootIs2 = new FileInputStream(xml);) {
+ InputNode root = NodeBuilder.read(rootIs1);
+ InputNode root1 = NodeBuilder.read(rootIs2); //HACK to handle old isFolder, isImage, isVideo, isRecording, isPresentation, isStoredWmlFile, isChart
+ InputNode listNode = root.getNext();
+ InputNode listNode1 = root1.getNext(); //HACK to handle old isFolder, isImage, isVideo, isRecording, isPresentation, isStoredWmlFile, isChart
+ if (listNodeName.equals(listNode.getName())) {
+ InputNode item = listNode.getNext();
+ InputNode item1 = listNode1.getNext(); //HACK to handle old isFolder, isImage, isVideo, isRecording, isPresentation, isStoredWmlFile, isChart
+ while (item != null) {
+ FileExplorerItem f = ser.read(FileExplorerItem.class, item, false);
+
+ boolean isFolder = false, isImage = false, isVideo = false, isPresentation = false, isStoredWmlFile = false, isChart = false;
+ //HACK to handle old isFolder, isImage, isVideo, isRecording, isPresentation, isStoredWmlFile, isChart
+ do {
+ if ("isChart".equals(item1.getName()) && "true".equals(item1.getValue())) {
+ isChart = true;
+ }
+ if ("isImage".equals(item1.getName()) && "true".equals(item1.getValue())) {
+ isImage = true;
+ }
+ if ("isVideo".equals(item1.getName()) && "true".equals(item1.getValue())) {
+ isVideo = true;
+ }
+ if ("isRecording".equals(item1.getName()) && "true".equals(item1.getValue())) {
+ log.warn("Recording is stored in FileExplorer Items");
+ isVideo = true;
+ }
+ if ("isPresentation".equals(item1.getName()) && "true".equals(item1.getValue())) {
+ isPresentation = true;
+ }
+ if ("isStoredWmlFile".equals(item1.getName()) && "true".equals(item1.getValue())) {
+ isStoredWmlFile = true;
+ }
+ if ("isFolder".equals(item1.getName()) && "true".equals(item1.getValue())) {
+ isFolder = true;
+ }
+ item1 = listNode1.getNext(); //HACK to handle Address inside user
+ } while (item1 != null && !"fileExplorerItem".equals(item1.getName()));
+
+ if (f.getType() == null) {
+ if (isChart) {
+ f.setType(FileItem.Type.PollChart);
+ }
+ if (isImage) {
+ f.setType(FileItem.Type.Image);
+ }
+ if (isVideo) {
+ f.setType(FileItem.Type.Video);
+ }
+ if (isPresentation) {
+ f.setType(FileItem.Type.Presentation);
+ }
+ if (isStoredWmlFile) {
+ f.setType(FileItem.Type.WmlFile);
+ }
+ if (isFolder) {
+ f.setType(FileItem.Type.Folder);
+ }
}
+ list.add(f);
+ item = listNode.getNext();
}
- list.add(f);
- item = listNode.getNext();
}
}
}
@@ -819,30 +823,32 @@ public class BackupImport {
registry.bind(Date.class, DateConverter.class);
registry.bind(Recording.Status.class, RecordingStatusConverter.class);
- InputNode root = NodeBuilder.read(new FileInputStream(xml));
- InputNode root1 = NodeBuilder.read(new FileInputStream(xml)); //HACK to handle old isFolder
- InputNode listNode = root.getNext();
- InputNode listNode1 = root1.getNext(); //HACK to handle old isFolder
- if (listNodeName.equals(listNode.getName())) {
- InputNode item = listNode.getNext();
- InputNode item1 = listNode1.getNext(); //HACK to handle old isFolder
- while (item != null) {
- Recording r = ser.read(Recording.class, item, false);
-
- boolean isFolder = false;
- //HACK to handle old isFolder
- do {
- if ("isFolder".equals(item1.getName()) && "true".equals(item1.getValue())) {
- isFolder = true;
+ try (InputStream rootIs1 = new FileInputStream(xml); InputStream rootIs2 = new FileInputStream(xml);) {
+ InputNode root = NodeBuilder.read(rootIs1);
+ InputNode root1 = NodeBuilder.read(rootIs2); //HACK to handle old isFolder
+ InputNode listNode = root.getNext();
+ InputNode listNode1 = root1.getNext(); //HACK to handle old isFolder
+ if (listNodeName.equals(listNode.getName())) {
+ InputNode item = listNode.getNext();
+ InputNode item1 = listNode1.getNext(); //HACK to handle old isFolder
+ while (item != null) {
+ Recording r = ser.read(Recording.class, item, false);
+
+ boolean isFolder = false;
+ //HACK to handle old isFolder
+ do {
+ if ("isFolder".equals(item1.getName()) && "true".equals(item1.getValue())) {
+ isFolder = true;
+ }
+ item1 = listNode1.getNext(); //HACK to handle Address inside user
+ } while (item1 != null && !"flvrecording".equals(item1.getName()));
+
+ if (r.getType() == null) {
+ r.setType(isFolder ? FileItem.Type.Folder : FileItem.Type.Recording);
}
- item1 = listNode1.getNext(); //HACK to handle Address inside user
- } while (item1 != null && !"flvrecording".equals(item1.getName()));
-
- if (r.getType() == null) {
- r.setType(isFolder ? FileItem.Type.Folder : FileItem.Type.Recording);
+ list.add(r);
+ item = listNode.getNext();
}
- list.add(r);
- item = listNode.getNext();
}
}
}