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 2015/11/06 07:18:49 UTC
svn commit: r1712911 [8/16] - in /openmeetings/branches/3.1.x:
openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/
openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/
openmeetings-core/src/main/java/org/apa...
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java Fri Nov 6 06:18:44 2015
@@ -57,41 +57,36 @@ import javax.xml.transform.stream.Stream
import org.apache.commons.transaction.util.FileHelper;
import org.apache.openmeetings.db.dao.basic.ChatDao;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.dao.calendar.AppointmentCategoryDao;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
-import org.apache.openmeetings.db.dao.calendar.AppointmentReminderTypDao;
import org.apache.openmeetings.db.dao.calendar.MeetingMemberDao;
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
-import org.apache.openmeetings.db.dao.record.FlvRecordingDao;
+import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.room.PollDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.room.RoomOrganisationDao;
-import org.apache.openmeetings.db.dao.room.RoomTypeDao;
import org.apache.openmeetings.db.dao.server.LdapConfigDao;
import org.apache.openmeetings.db.dao.server.OAuth2Dao;
import org.apache.openmeetings.db.dao.server.ServerDao;
import org.apache.openmeetings.db.dao.user.OrganisationDao;
+import org.apache.openmeetings.db.dao.user.PrivateMessageDao;
import org.apache.openmeetings.db.dao.user.PrivateMessageFolderDao;
-import org.apache.openmeetings.db.dao.user.PrivateMessagesDao;
import org.apache.openmeetings.db.dao.user.StateDao;
-import org.apache.openmeetings.db.dao.user.UserContactsDao;
+import org.apache.openmeetings.db.dao.user.UserContactDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.basic.ChatMessage;
import org.apache.openmeetings.db.entity.basic.Configuration;
import org.apache.openmeetings.db.entity.calendar.Appointment;
-import org.apache.openmeetings.db.entity.calendar.AppointmentCategory;
-import org.apache.openmeetings.db.entity.calendar.AppointmentReminderTyps;
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.file.FileExplorerItem;
-import org.apache.openmeetings.db.entity.record.FlvRecording;
-import org.apache.openmeetings.db.entity.record.FlvRecordingMetaData;
+import org.apache.openmeetings.db.entity.file.FileItem;
+import org.apache.openmeetings.db.entity.record.Recording;
+import org.apache.openmeetings.db.entity.record.RecordingMetaData;
import org.apache.openmeetings.db.entity.room.PollType;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.RoomModerator;
import org.apache.openmeetings.db.entity.room.RoomOrganisation;
import org.apache.openmeetings.db.entity.room.RoomPoll;
-import org.apache.openmeetings.db.entity.room.RoomPollAnswers;
-import org.apache.openmeetings.db.entity.room.RoomType;
+import org.apache.openmeetings.db.entity.room.RoomPollAnswer;
import org.apache.openmeetings.db.entity.server.LdapConfig;
import org.apache.openmeetings.db.entity.server.OAuthServer;
import org.apache.openmeetings.db.entity.server.Server;
@@ -102,7 +97,7 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.State;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Right;
-import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.db.entity.user.User.Salutation;
import org.apache.openmeetings.db.entity.user.UserContact;
import org.apache.openmeetings.db.util.TimezoneUtil;
import org.apache.openmeetings.util.CalendarPatterns;
@@ -137,17 +132,13 @@ public class BackupImport {
@Autowired
private RoomDao roomDao;
@Autowired
- private AppointmentCategoryDao appointmentCategoryDaoImpl;
+ private UserDao userDao;
@Autowired
- private AppointmentReminderTypDao appointmentReminderTypDaoImpl;
- @Autowired
- private UserDao usersDao;
- @Autowired
- private FlvRecordingDao flvRecordingDao;
+ private RecordingDao recordingDao;
@Autowired
private PrivateMessageFolderDao privateMessageFolderDao;
@Autowired
- private PrivateMessagesDao privateMessagesDao;
+ private PrivateMessageDao privateMessageDao;
@Autowired
private MeetingMemberDao meetingMemberDao;
@Autowired
@@ -155,7 +146,7 @@ public class BackupImport {
@Autowired
private FileExplorerItemDao fileExplorerItemDao;
@Autowired
- private UserContactsDao userContactsDao;
+ private UserContactDao userContactDao;
@Autowired
private PollDao pollManager;
@Autowired
@@ -169,10 +160,6 @@ public class BackupImport {
@Autowired
private OAuth2Dao auth2Dao;
@Autowired
- private OrganisationDao organisationDao;
- @Autowired
- private RoomTypeDao roomTypeDao;
- @Autowired
private RoomOrganisationDao roomOrganisationDao;
private final Map<Long, Long> usersMap = new HashMap<Long, Long>();
@@ -240,7 +227,7 @@ public class BackupImport {
matcher.bind(Long.class, LongTransform.class);
registry.bind(Date.class, DateConverter.class);
- registry.bind(User.class, new UserConverter(usersDao, usersMap));
+ registry.bind(User.class, new UserConverter(userDao, usersMap));
List<Configuration> list = readList(serializer, f, "configs.xml", "configs", Configuration.class, true);
for (Configuration c : list) {
@@ -251,8 +238,8 @@ public class BackupImport {
if (cfg != null && !cfg.isDeleted()) {
log.warn("Non deleted configuration with same key is found! old value: {}, new value: {}", cfg.getConf_value(), c.getConf_value());
}
- c.setConfiguration_id(cfg == null ? null : cfg.getConfiguration_id());
- if (c.getUser() != null && c.getUser().getUser_id() == null) {
+ c.setId(cfg == null ? null : cfg.getId());
+ if (c.getUser() != null && c.getUser().getId() == null) {
c.setUser(null);
}
if (CONFIG_CRYPT_KEY.equals(c.getConf_key())) {
@@ -274,10 +261,10 @@ public class BackupImport {
{
List<Organisation> list = readList(simpleSerializer, f, "organizations.xml", "organisations", Organisation.class);
for (Organisation o : list) {
- long oldId = o.getOrganisation_id();
- o.setOrganisation_id(null);
- o = organisationDao.update(o, null);
- organisationsMap.put(oldId, o.getOrganisation_id());
+ long oldId = o.getId();
+ o.setId(null);
+ o = orgDao.update(o, null);
+ organisationsMap.put(oldId, o.getId());
}
}
@@ -293,7 +280,7 @@ public class BackupImport {
if (u.getLogin() == null) {
continue;
}
- if (u.getType() == Type.contact && u.getLogin().length() < minLoginLength) {
+ if (u.getType() == User.Type.contact && u.getLogin().length() < minLoginLength) {
u.setLogin(UUID.randomUUID().toString());
}
//FIXME: OPENMEETINGS-750
@@ -308,16 +295,16 @@ public class BackupImport {
}
u.setStarttime(new Date());
- long userId = u.getUser_id();
- u.setUser_id(null);
+ long userId = u.getId();
+ u.setId(null);
if (u.getSipUser() != null && u.getSipUser().getId() != 0) {
u.getSipUser().setId(0);
}
- if (!Strings.isEmpty(u.getExternalUserType())) {
- u.setType(Type.external);
+ if (!Strings.isEmpty(u.getExternalType())) {
+ u.setType(User.Type.external);
}
- usersDao.update(u, -1L);
- usersMap.put(userId, u.getUser_id());
+ userDao.update(u, -1L);
+ usersMap.put(userId, u.getId());
}
}
@@ -333,25 +320,25 @@ public class BackupImport {
matcher.bind(Long.class, LongTransform.class);
matcher.bind(Integer.class, IntegerTransform.class);
- registry.bind(User.class, new UserConverter(usersDao, usersMap));
- registry.bind(RoomType.class, new RoomTypeConverter(roomTypeDao));
+ registry.bind(User.class, new UserConverter(userDao, usersMap));
+ registry.bind(Room.Type.class, new RoomTypeConverter());
List<Room> list = readList(serializer, f, "rooms.xml", "rooms", Room.class);
for (Room r : list) {
- Long roomId = r.getRooms_id();
+ Long roomId = r.getId();
// We need to reset ids as openJPA reject to store them otherwise
- r.setRooms_id(null);
+ r.setId(null);
if (r.getModerators() != null) {
for (Iterator<RoomModerator> i = r.getModerators().iterator(); i.hasNext();) {
RoomModerator rm = i.next();
- if (rm.getUser().getUser_id() == null) {
+ if (rm.getUser().getId() == null) {
i.remove();
}
}
}
r = roomDao.update(r, null);
- roomsMap.put(roomId, r.getRooms_id());
+ roomsMap.put(roomId, r.getId());
}
}
@@ -369,9 +356,9 @@ public class BackupImport {
List<RoomOrganisation> list = readList(serializer, f, "rooms_organisation.xml", "room_organisations", RoomOrganisation.class);
for (RoomOrganisation ro : list) {
- if (!ro.getDeleted() && ro.getRoom() != null && ro.getRoom().getRooms_id() != null && ro.getOrganisation() != null && ro.getOrganisation().getOrganisation_id() != null) {
+ if (!ro.isDeleted() && ro.getRoom() != null && ro.getRoom().getId() != null && ro.getOrganisation() != null && ro.getOrganisation().getId() != null) {
// We need to reset this as openJPA reject to store them otherwise
- ro.setRooms_organisation_id(null);
+ ro.setId(null);
roomOrganisationDao.update(ro, null);
}
}
@@ -386,7 +373,7 @@ public class BackupImport {
Strategy strategy = new RegistryStrategy(registry);
Serializer serializer = new Persister(strategy);
- registry.bind(User.class, new UserConverter(usersDao, usersMap));
+ registry.bind(User.class, new UserConverter(userDao, usersMap));
registry.bind(Room.class, new RoomConverter(roomDao, roomsMap));
registry.bind(Date.class, DateConverter.class);
@@ -405,23 +392,21 @@ public class BackupImport {
Strategy strategy = new RegistryStrategy(registry);
Serializer serializer = new Persister(strategy);
- registry.bind(AppointmentCategory.class, new AppointmentCategoryConverter(appointmentCategoryDaoImpl));
- registry.bind(User.class, new UserConverter(usersDao, usersMap));
- registry.bind(AppointmentReminderTyps.class, new AppointmentReminderTypeConverter(appointmentReminderTypDaoImpl));
+ registry.bind(User.class, new UserConverter(userDao, usersMap));
+ registry.bind(Appointment.Reminder.class, new AppointmentReminderTypeConverter());
registry.bind(Room.class, new RoomConverter(roomDao, roomsMap));
registry.bind(Date.class, DateConverter.class);
List<Appointment> list = readList(serializer, f, "appointements.xml", "appointments", Appointment.class);
- log.debug(list.size() + " Appointments found in backup");
for (Appointment a : list) {
Long appId = a.getId();
// We need to reset this as openJPA reject to store them otherwise
a.setId(null);
- if (a.getOwner() != null && a.getOwner().getUser_id() == null) {
+ if (a.getOwner() != null && a.getOwner().getId() == null) {
a.setOwner(null);
}
- if (a.getRoom() != null && a.getRoom().getRooms_id() == null) {
+ if (a.getRoom() != null && a.getRoom().getId() == null) {
a.setRoom(null);
}
a = appointmentDao.update(a, null, false);
@@ -482,35 +467,26 @@ public class BackupImport {
* ##################### Import Recordings
*/
{
- Registry registry = new Registry();
- Strategy strategy = new RegistryStrategy(registry);
- RegistryMatcher matcher = new RegistryMatcher(); //TODO need to be removed in the later versions
- Serializer serializer = new Persister(strategy, matcher);
-
- matcher.bind(Long.class, LongTransform.class);
- matcher.bind(Integer.class, IntegerTransform.class);
- registry.bind(Date.class, DateConverter.class);
-
- List<FlvRecording> list = readList(serializer, f, "flvRecordings.xml", "flvrecordings", FlvRecording.class, true);
- for (FlvRecording fr : list) {
- fr.setFlvRecordingId(0);
- if (fr.getRoom_id() != null) {
- fr.setRoom_id(roomsMap.get(fr.getRoom_id()));
+ List<Recording> list = readRecordingList(f, "flvRecordings.xml", "flvrecordings");
+ for (Recording fr : list) {
+ fr.setId(null);
+ if (fr.getRoomId() != null) {
+ fr.setRoomId(roomsMap.get(fr.getRoomId()));
}
if (fr.getOwnerId() != null) {
fr.setOwnerId(usersMap.get(fr.getOwnerId()));
}
- if (fr.getFlvRecordingMetaData() != null) {
- for (FlvRecordingMetaData meta : fr.getFlvRecordingMetaData()) {
- meta.setFlvRecordingMetaDataId(0);
- meta.setFlvRecording(fr);
+ if (fr.getMetaData() != null) {
+ for (RecordingMetaData meta : fr.getMetaData()) {
+ meta.setId(null);
+ meta.setRecording(fr);
}
}
- flvRecordingDao.update(fr);
+ recordingDao.update(fr);
}
}
- log.info("FLVrecording import complete, starting private message folder import");
+ log.info("Recording import complete, starting private message folder import");
/*
* ##################### Import Private Message Folders
*/
@@ -518,10 +494,10 @@ public class BackupImport {
List<PrivateMessageFolder> list = readList(simpleSerializer, f, "privateMessageFolder.xml"
, "privatemessagefolders", PrivateMessageFolder.class, true);
for (PrivateMessageFolder p : list) {
- Long folderId = p.getPrivateMessageFolderId();
+ Long folderId = p.getId();
PrivateMessageFolder storedFolder = privateMessageFolderDao.get(folderId);
if (storedFolder == null) {
- p.setPrivateMessageFolderId(0);
+ p.setId(null);
Long newFolderId = privateMessageFolderDao.addPrivateMessageFolderObj(p);
messageFoldersMap.put(folderId, newFolderId);
}
@@ -537,19 +513,19 @@ public class BackupImport {
Strategy strategy = new RegistryStrategy(registry);
Serializer serializer = new Persister(strategy);
- registry.bind(User.class, new UserConverter(usersDao, usersMap));
+ registry.bind(User.class, new UserConverter(userDao, usersMap));
List<UserContact> list = readList(serializer, f, "userContacts.xml", "usercontacts", UserContact.class, true);
for (UserContact uc : list) {
Long ucId = uc.getUserContactId();
- UserContact storedUC = userContactsDao.get(ucId);
+ UserContact storedUC = userContactDao.get(ucId);
- if (storedUC == null && uc.getContact() != null && uc.getContact().getUser_id() != null) {
+ if (storedUC == null && uc.getContact() != null && uc.getContact().getId() != null) {
uc.setUserContactId(0);
- if (uc.getOwner() != null && uc.getOwner().getUser_id() == null) {
+ if (uc.getOwner() != null && uc.getOwner().getId() == null) {
uc.setOwner(null);
}
- Long newId = userContactsDao.addUserContactObj(uc);
+ Long newId = userContactDao.addUserContactObj(uc);
userContactsMap.put(ucId, newId);
}
}
@@ -564,7 +540,7 @@ public class BackupImport {
Strategy strategy = new RegistryStrategy(registry);
Serializer serializer = new Persister(strategy);
- registry.bind(User.class, new UserConverter(usersDao, usersMap));
+ registry.bind(User.class, new UserConverter(userDao, usersMap));
registry.bind(Room.class, new RoomConverter(roomDao, roomsMap));
registry.bind(Date.class, DateConverter.class);
@@ -578,28 +554,28 @@ public class BackupImport {
}
for (PrivateMessage p : list) {
- p.setId(0);
+ p.setId(null);
p.setFolderId(getNewId(p.getFolderId(), Maps.MESSAGEFOLDERS));
p.setUserContactId(getNewId(p.getUserContactId(), Maps.USERCONTACTS));
- if (p.getRoom() != null && p.getRoom().getRooms_id() == null) {
+ if (p.getRoom() != null && p.getRoom().getId() == null) {
p.setRoom(null);
}
- if (p.getTo() != null && p.getTo().getUser_id() == null) {
+ if (p.getTo() != null && p.getTo().getId() == null) {
p.setTo(null);
}
- if (p.getFrom() != null && p.getFrom().getUser_id() == null) {
+ if (p.getFrom() != null && p.getFrom().getId() == null) {
p.setFrom(null);
}
- if (p.getOwner() != null && p.getOwner().getUser_id() == null) {
+ if (p.getOwner() != null && p.getOwner().getId() == null) {
p.setOwner(null);
}
- if (oldBackup && p.getOwner() != null && p.getOwner().getUser_id() != null
- && p.getFrom() != null && p.getFrom().getUser_id() != null
- && p.getOwner().getUser_id() == p.getFrom().getUser_id())
+ if (oldBackup && p.getOwner() != null && p.getOwner().getId() != null
+ && p.getFrom() != null && p.getFrom().getId() != null
+ && p.getOwner().getId() == p.getFrom().getId())
{
p.setFolderId(SENT_FOLDER_ID);
}
- privateMessagesDao.update(p, null);
+ privateMessageDao.update(p, null);
}
}
@@ -608,29 +584,23 @@ public class BackupImport {
* ##################### Import File-Explorer Items
*/
{
- Registry registry = new Registry();
- Strategy strategy = new RegistryStrategy(registry);
- RegistryMatcher matcher = new RegistryMatcher(); //TODO need to be removed in the later versions
- Serializer serializer = new Persister(strategy, matcher);
-
- matcher.bind(Long.class, LongTransform.class);
- matcher.bind(Integer.class, IntegerTransform.class);
- registry.bind(Date.class, DateConverter.class);
-
- List<FileExplorerItem> list = readList(serializer, f, "fileExplorerItems.xml", "fileExplorerItems", FileExplorerItem.class, true);
+ List<FileExplorerItem> list = readFileExplorerItemList(f, "fileExplorerItems.xml", "fileExplorerItems");
for (FileExplorerItem file : list) {
// We need to reset this as openJPA reject to store them otherwise
- file.setFileExplorerItemId(0);
- Long roomId = file.getRoom_id();
- file.setRoom_id(roomsMap.containsKey(roomId) ? roomsMap.get(roomId) : null);
+ file.setId(null);
+ Long roomId = file.getRoomId();
+ file.setRoomId(roomsMap.containsKey(roomId) ? roomsMap.get(roomId) : null);
if (file.getOwnerId() != null) {
file.setOwnerId(usersMap.get(file.getOwnerId()));
}
+ if (file.getParentItemId() != null && file.getParentItemId() <= 0L) {
+ file.setParentItemId(null);
+ }
fileExplorerItemDao.addFileExplorerItem(file);
}
}
- log.info("File explorer item import complete, starting file poll import");
+ log.info("File explorer item import complete, starting room poll import");
/*
* ##################### Import Room Polls
*/
@@ -641,22 +611,22 @@ public class BackupImport {
Serializer serializer = new Persister(strategy, matcher);
matcher.bind(Integer.class, IntegerTransform.class);
- registry.bind(User.class, new UserConverter(usersDao, usersMap));
+ registry.bind(User.class, new UserConverter(userDao, usersMap));
registry.bind(Room.class, new RoomConverter(roomDao, roomsMap));
registry.bind(PollType.class, new PollTypeConverter(pollManager));
registry.bind(Date.class, DateConverter.class);
List<RoomPoll> list = readList(serializer, f, "roompolls.xml", "roompolls", RoomPoll.class, true);
for (RoomPoll rp : list) {
- if (rp.getRoom() == null || rp.getRoom().getRooms_id() == null) {
+ if (rp.getRoom() == null || rp.getRoom().getId() == null) {
//room was deleted
continue;
}
- if (rp.getCreatedBy() == null || rp.getCreatedBy().getUser_id() == null) {
+ if (rp.getCreatedBy() == null || rp.getCreatedBy().getId() == null) {
rp.setCreatedBy(null);
}
- for (RoomPollAnswers rpa : rp.getRoomPollAnswerList()) {
- if (rpa.getVotedUser() == null || rpa.getVotedUser().getUser_id() == null) {
+ for (RoomPollAnswer rpa : rp.getRoomPollAnswerList()) {
+ if (rpa.getVotedUser() == null || rpa.getVotedUser().getId() == null) {
rpa.setVotedUser(null);
}
}
@@ -705,16 +675,140 @@ public class BackupImport {
}
private Node getNode(Node doc, String name) {
- NodeList nl = doc.getChildNodes();
- for (int i = 0; i < nl.getLength(); ++i) {
- Node node = nl.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE && name.equals(node.getNodeName())) {
- return node;
+ if (doc != null) {
+ NodeList nl = doc.getChildNodes();
+ for (int i = 0; i < nl.getLength(); ++i) {
+ Node node = nl.item(i);
+ if (node.getNodeType() == Node.ELEMENT_NODE && name.equals(node.getNodeName())) {
+ return node;
+ }
}
}
return null;
}
+ public List<FileExplorerItem> readFileExplorerItemList(File baseDir, String fileName, String listNodeName) throws Exception {
+ List<FileExplorerItem> list = new ArrayList<FileExplorerItem>();
+ File xml = new File(baseDir, fileName);
+ if (xml.exists()) {
+ Registry registry = new Registry();
+ Strategy strategy = new RegistryStrategy(registry);
+ RegistryMatcher matcher = new RegistryMatcher(); //TODO need to be removed in the later versions
+ Serializer ser = new Persister(strategy, matcher);
+
+ matcher.bind(Long.class, LongTransform.class);
+ 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);
+ }
+ }
+ list.add(f);
+ item = listNode.getNext();
+ }
+ }
+ }
+ return list;
+ }
+
+ public List<Recording> readRecordingList(File baseDir, String fileName, String listNodeName) throws Exception {
+ List<Recording> list = new ArrayList<Recording>();
+ File xml = new File(baseDir, fileName);
+ if (xml.exists()) {
+ Registry registry = new Registry();
+ Strategy strategy = new RegistryStrategy(registry);
+ RegistryMatcher matcher = new RegistryMatcher(); //TODO need to be removed in the later versions
+ Serializer ser = new Persister(strategy, matcher);
+
+ matcher.bind(Long.class, LongTransform.class);
+ 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
+ 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);
+ }
+ list.add(r);
+ item = listNode.getNext();
+ }
+ }
+ }
+ return list;
+ }
+
public List<User> readUserList(InputStream xml, String listNodeName) throws Exception {
return readUserList(new InputSource(xml), listNodeName);
}
@@ -734,7 +828,7 @@ public class BackupImport {
Strategy strategy = new RegistryStrategy(registry);
Serializer ser = new Persister(strategy);
- registry.bind(User.class, new UserConverter(usersDao, usersMap));
+ registry.bind(User.class, new UserConverter(userDao, usersMap));
registry.bind(Appointment.class, new AppointmentConverter(appointmentDao, appointmentsMap));
File xml = new File(baseDir, filename);
@@ -764,20 +858,20 @@ public class BackupImport {
if (mm.getUser() == null) {
mm.setUser(new User());
}
- if (mm.getUser().getUser_id() == null) {
+ if (mm.getUser().getId() == null) {
//HACK to handle external attendee's firstname, lastname, email
boolean contactValid = false;
do {
- if (Type.contact == mm.getUser().getType() && "firstname".equals(item1.getName())) {
+ if (User.Type.contact == mm.getUser().getType() && "firstname".equals(item1.getName())) {
mm.getUser().setFirstname(item1.getValue());
}
- if (Type.contact == mm.getUser().getType() && "lastname".equals(item1.getName())) {
+ if (User.Type.contact == mm.getUser().getType() && "lastname".equals(item1.getName())) {
mm.getUser().setLastname(item1.getValue());
}
if ("email".equals(item1.getName())) {
String email = item1.getValue();
if (mm.getAppointment() != null && mm.getAppointment().getOwner() != null) {
- mm.setUser(usersDao.getContact(email, mm.getAppointment().getOwner()));
+ mm.setUser(userDao.getContact(email, mm.getAppointment().getOwner()));
}
contactValid = true;
}
@@ -803,7 +897,7 @@ public class BackupImport {
return list;
}
- //FIXME (need to be removed in later versions) HACK to fix 2 deleted nodes in users.xml and inline Adresses and sipData
+ //FIXME (need to be removed in later versions) HACK to fix 2 deleted nodes in users.xml and inline Address and sipData
private List<User> readUserList(InputSource xml, String listNodeName) throws Exception {
Registry registry = new Registry();
Strategy strategy = new RegistryStrategy(registry);
@@ -811,41 +905,45 @@ public class BackupImport {
registry.bind(Organisation.class, new OrganisationConverter(orgDao, organisationsMap));
registry.bind(State.class, new StateConverter(statemanagement));
+ registry.bind(Salutation.class, SalutationConverter.class);
registry.bind(Date.class, DateConverter.class);
DocumentBuilder dBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = dBuilder.parse(xml);
- NodeList nl = getNode(getNode(doc, "root"), listNodeName).getChildNodes();
userEmailMap.clear();
//add existence email from database
- List<User> users = usersDao.getAllUsers();
+ List<User> users = userDao.getAllUsers();
for (User u : users){
- if (u.getAdresses() == null || u.getAdresses().getEmail() == null || Type.user != u.getType()) {
+ if (u.getAddress() == null || u.getAddress().getEmail() == null || User.Type.user != u.getType()) {
continue;
}
- userEmailMap.put(u.getAdresses().getEmail(), -1);
+ userEmailMap.put(u.getAddress().getEmail(), -1);
}
- // one of the old OM version created 2 nodes "deleted" this code block handles this
- for (int i = 0; i < nl.getLength(); ++i) {
- Node user = nl.item(i);
- NodeList nl1 = user.getChildNodes();
- boolean deletedFound = false;
- for (int j = 0; j < nl1.getLength(); ++j) {
- Node node = nl1.item(j);
- if (node.getNodeType() == Node.ELEMENT_NODE && "deleted".equals(node.getNodeName())) {
- if (deletedFound) {
- user.removeChild(node);
- break;
+ Node nList = getNode(getNode(doc, "root"), listNodeName);
+ if (nList != null) {
+ NodeList nl = nList.getChildNodes();
+ // one of the old OM version created 2 nodes "deleted" this code block handles this
+ for (int i = 0; i < nl.getLength(); ++i) {
+ Node user = nl.item(i);
+ NodeList nl1 = user.getChildNodes();
+ boolean deletedFound = false;
+ for (int j = 0; j < nl1.getLength(); ++j) {
+ Node node = nl1.item(j);
+ if (node.getNodeType() == Node.ELEMENT_NODE && "deleted".equals(node.getNodeName())) {
+ if (deletedFound) {
+ user.removeChild(node);
+ break;
+ }
+ deletedFound = true;
}
- deletedFound = true;
}
}
}
StringWriter sw = new StringWriter();
Transformer xformer = TransformerFactory.newInstance().newTransformer();
- xformer.transform(new DOMSource(doc), new StreamResult(sw));
-
+ xformer.transform(new DOMSource(doc), new StreamResult(sw));
+
List<User> list = new ArrayList<User>();
InputNode root = NodeBuilder.read(new StringReader(sw.toString()));
InputNode root1 = NodeBuilder.read(new StringReader(sw.toString())); //HACK to handle Address inside user
@@ -862,9 +960,9 @@ public class BackupImport {
boolean needToSkip1 = true;
//HACK to handle Address inside user
- if (u.getAdresses() == null) {
+ if (u.getAddress() == null) {
Address a = ser.read(Address.class, item1, false);
- u.setAdresses(a);
+ u.setAddress(a);
needToSkip1 = false;
}
if (needToSkip1) {
@@ -872,14 +970,14 @@ public class BackupImport {
item1 = listNode1.getNext(); //HACK to handle Address inside user
} while (item1 != null && !"user".equals(item1.getName()));
}
- String level_id = null, status = null;
+ String levelId = null, status = null;
do {
if (u.getTimeZoneId() == null && "omTimeZone".equals(item2.getName())) {
String jName = item2.getValue();
u.setTimeZoneId(jName == null ? null : tzUtil.getTimezoneByInternalJName(jName).getID());
}
if ("level_id".equals(item2.getName())) {
- level_id = item2.getValue();
+ levelId = item2.getValue();
}
if ("status".equals(item2.getName())) {
status = item2.getValue();
@@ -892,22 +990,22 @@ public class BackupImport {
u.getRights().add(Right.Dashboard);
u.getRights().add(Right.Login);
}
- if ("3".equals(level_id)) {
+ if ("3".equals(levelId)) {
u.getRights().add(Right.Admin);
u.getRights().add(Right.Soap);
}
- if ("4".equals(level_id)) {
+ if ("4".equals(levelId)) {
u.getRights().add(Right.Soap);
}
}
// check that email is unique
- if (u.getAdresses() != null && u.getAdresses().getEmail() != null && Type.user == u.getType()) {
- if (userEmailMap.containsKey(u.getAdresses().getEmail())) {
+ if (u.getAddress() != null && u.getAddress().getEmail() != null && User.Type.user == u.getType()) {
+ if (userEmailMap.containsKey(u.getAddress().getEmail())) {
log.warn("Email is duplicated for user " + u.toString());
- String updateEmail = "modified_by_import_<" + list.size() + ">" + u.getAdresses().getEmail();
- u.getAdresses().setEmail(updateEmail);
+ String updateEmail = "modified_by_import_<" + list.size() + ">" + u.getAddress().getEmail();
+ u.getAddress().setEmail(updateEmail);
}
- userEmailMap.put(u.getAdresses().getEmail(), userEmailMap.size());
+ userEmailMap.put(u.getAddress().getEmail(), userEmailMap.size());
}
list.add(u);
item = listNode.getNext();
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/IntegerTransform.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/IntegerTransform.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/IntegerTransform.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/IntegerTransform.java Fri Nov 6 06:18:44 2015
@@ -22,7 +22,7 @@ import org.simpleframework.xml.transform
public class IntegerTransform implements Transform<Integer>{
public Integer read(String value) throws Exception {
- return OmConverter.getintValue(value, 0);
+ return OmConverter.getInt(value, 0);
}
public String write(Integer value) throws Exception {
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/LongTransform.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/LongTransform.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/LongTransform.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/LongTransform.java Fri Nov 6 06:18:44 2015
@@ -22,7 +22,7 @@ import org.simpleframework.xml.transform
public class LongTransform implements Transform<Long>{
public Long read(String value) throws Exception {
- return OmConverter.getlongValue(value);
+ return OmConverter.getLong(value);
}
public String write(Long value) throws Exception {
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmConverter.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmConverter.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OmConverter.java Fri Nov 6 06:18:44 2015
@@ -22,15 +22,15 @@ import org.simpleframework.xml.convert.C
import org.simpleframework.xml.stream.InputNode;
public abstract class OmConverter<T> implements Converter<T> {
- static long getlongValue(InputNode node) throws Exception {
- return getlongValue(node.getValue());
+ static long getLong(InputNode node) throws Exception {
+ return getLong(node.getValue());
}
- static long getlongValue(String value) {
- return getlongValue(value, 0);
+ static long getLong(String value) {
+ return getLong(value, 0);
}
- static long getlongValue(String value, long def) {
+ static long getLong(String value, long def) {
long result = def;
try {
result = Long.valueOf(value).longValue();
@@ -40,7 +40,11 @@ public abstract class OmConverter<T> imp
return result;
}
- static int getintValue(String value, int def) {
+ static int getInt(InputNode node) throws Exception {
+ return getInt(node.getValue(), 0);
+ }
+
+ static int getInt(String value, int def) {
int result = def;
try {
result = Integer.valueOf(value).intValue();
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OrganisationConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OrganisationConverter.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OrganisationConverter.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/OrganisationConverter.java Fri Nov 6 06:18:44 2015
@@ -39,7 +39,7 @@ public class OrganisationConverter exten
}
public Organisation read(InputNode node) throws Exception {
- long oldId = getlongValue(node);
+ long oldId = getLong(node);
long newId = idMap.containsKey(oldId) ? idMap.get(oldId) : oldId;
Organisation o = orgDao.get(newId);
@@ -48,6 +48,6 @@ public class OrganisationConverter exten
public void write(OutputNode node, Organisation value) throws Exception {
node.setData(true);
- node.setValue(value == null ? "0" : "" + value.getOrganisation_id());
+ node.setValue(value == null ? "0" : "" + value.getId());
}
}
\ No newline at end of file
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/PollTypeConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/PollTypeConverter.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/PollTypeConverter.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/PollTypeConverter.java Fri Nov 6 06:18:44 2015
@@ -35,7 +35,7 @@ public class PollTypeConverter extends O
}
public PollType read(InputNode node) throws Exception {
- return pollManager.getPollType(getlongValue(node));
+ return pollManager.getPollType(getLong(node));
}
public void write(OutputNode node, PollType value) throws Exception {
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomConverter.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomConverter.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomConverter.java Fri Nov 6 06:18:44 2015
@@ -39,7 +39,7 @@ public class RoomConverter extends OmCon
}
public Room read(InputNode node) throws Exception {
- long oldId = getlongValue(node);
+ long oldId = getLong(node);
long newId = idMap.containsKey(oldId) ? idMap.get(oldId) : oldId;
Room r = roomDao.get(newId);
@@ -48,6 +48,6 @@ public class RoomConverter extends OmCon
public void write(OutputNode node, Room value) throws Exception {
node.setData(true);
- node.setValue(value == null ? "0" : "" + value.getRooms_id());
+ node.setValue(value == null ? "0" : "" + value.getId());
}
}
\ No newline at end of file
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomTypeConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomTypeConverter.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomTypeConverter.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/RoomTypeConverter.java Fri Nov 6 06:18:44 2015
@@ -18,29 +18,19 @@
*/
package org.apache.openmeetings.backup;
-import org.apache.openmeetings.db.dao.room.RoomTypeDao;
-import org.apache.openmeetings.db.entity.room.RoomType;
+import org.apache.openmeetings.db.entity.room.Room.Type;
import org.simpleframework.xml.stream.InputNode;
import org.simpleframework.xml.stream.OutputNode;
-public class RoomTypeConverter extends OmConverter<RoomType> {
- private RoomTypeDao dao;
+public class RoomTypeConverter extends OmConverter<Type> {
+ public RoomTypeConverter() {}
- public RoomTypeConverter() {
- //default constructor is for export
- }
-
- public RoomTypeConverter(RoomTypeDao dao) {
- this.dao = dao;
- }
-
- public RoomType read(InputNode node) throws Exception {
- RoomType rt = dao.get(getlongValue(node));
- return rt != null ? rt : dao.get(1); // conference type will be used in case of bad type
+ public Type read(InputNode node) throws Exception {
+ return Type.get(getInt(node));
}
- public void write(OutputNode node, RoomType value) throws Exception {
+ public void write(OutputNode node, Type value) throws Exception {
node.setData(true);
- node.setValue(value == null ? "0" : "" + value.getRoomtypes_id());
+ node.setValue(value == null ? "0" : "" + value.getId());
}
}
\ No newline at end of file
Added: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/SalutationConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/SalutationConverter.java?rev=1712911&view=auto
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/SalutationConverter.java (added)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/SalutationConverter.java Fri Nov 6 06:18:44 2015
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.backup;
+
+import org.apache.openmeetings.db.entity.user.User.Salutation;
+import org.simpleframework.xml.stream.InputNode;
+import org.simpleframework.xml.stream.OutputNode;
+
+public class SalutationConverter extends OmConverter<Salutation> {
+ public Salutation read(InputNode node) throws Exception {
+ return Salutation.get(getInt(node));
+ }
+
+ public void write(OutputNode node, Salutation value) throws Exception {
+ node.setData(true);
+ node.setValue(value == null ? "0" : "" + value.getId());
+ }
+}
\ No newline at end of file
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/StateConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/StateConverter.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/StateConverter.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/StateConverter.java Fri Nov 6 06:18:44 2015
@@ -24,22 +24,22 @@ import org.simpleframework.xml.stream.In
import org.simpleframework.xml.stream.OutputNode;
public class StateConverter extends OmConverter<State> {
- private StateDao statemanagement;
+ private StateDao stateDao;
public StateConverter() {
//default constructor is for export
}
- public StateConverter(StateDao statemanagement) {
- this.statemanagement = statemanagement;
+ public StateConverter(StateDao stateDao) {
+ this.stateDao = stateDao;
}
public State read(InputNode node) throws Exception {
- return statemanagement.getStateById(getlongValue(node));
+ return stateDao.get(getLong(node));
}
public void write(OutputNode node, State value) throws Exception {
node.setData(true);
- node.setValue(value == null ? "0" : "" + value.getState_id());
+ node.setValue(value == null ? "0" : "" + value.getId());
}
}
\ No newline at end of file
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/UserConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/UserConverter.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/UserConverter.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/UserConverter.java Fri Nov 6 06:18:44 2015
@@ -39,7 +39,7 @@ public class UserConverter extends OmCon
}
public User read(InputNode node) throws Exception {
- long oldId = getlongValue(node);
+ long oldId = getLong(node);
long newId = idMap.containsKey(oldId) ? idMap.get(oldId) : oldId;
User u = userDao.get(newId);
@@ -48,6 +48,6 @@ public class UserConverter extends OmCon
public void write(OutputNode node, User value) throws Exception {
node.setData(true);
- node.setValue(value == null ? "0" : "" + value.getUser_id());
+ node.setValue(value == null ? "0" : "" + value.getId());
}
}
\ No newline at end of file
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java Fri Nov 6 06:18:44 2015
@@ -54,10 +54,10 @@ import org.apache.openmeetings.backup.Ba
import org.apache.openmeetings.backup.ProgressHolder;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
-import org.apache.openmeetings.db.dao.record.FlvRecordingDao;
+import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.file.FileExplorerItem;
-import org.apache.openmeetings.db.entity.record.FlvRecording;
+import org.apache.openmeetings.db.entity.record.Recording;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.installation.ImportInitvalues;
import org.apache.openmeetings.installation.InstallationConfig;
@@ -344,7 +344,7 @@ public class Admin {
}
long missing = 0;
for (User u : udao.getAllBackupUsers()) {
- if (!u.getDeleted() && u.getPictureuri() != null && !new File(OmFileHelper.getUploadProfilesUserDir(u.getUser_id()), u.getPictureuri()).exists()) {
+ if (!u.getDeleted() && u.getPictureuri() != null && !new File(OmFileHelper.getUploadProfilesUserDir(u.getId()), u.getPictureuri()).exists()) {
missing++;
}
}
@@ -376,7 +376,7 @@ public class Admin {
} else {
invalid += fSize;
}
- } else if (item.getDeleted()) {
+ } else if (item.isDeleted()) {
if (cleanup) {
FileHelper.removeRec(f);
} else {
@@ -386,7 +386,7 @@ public class Admin {
}
missing = 0;
for (FileExplorerItem item : fileDao.getFileExplorerItems()) {
- if (!item.getDeleted() && item.getFileHash() != null && !new File(files, item.getFileHash()).exists()) {
+ if (!item.isDeleted() && item.getFileHash() != null && !new File(files, item.getFileHash()).exists()) {
missing++;
}
}
@@ -411,17 +411,17 @@ public class Admin {
report.append("Recordings allocates: ").append(OmFileHelper.getHumanSize(sectionSize)).append("\n");
long size = OmFileHelper.getSize(hibernateDir);
long restSize = sectionSize - size;
- FlvRecordingDao recordDao = getApplicationContext(ctxName).getBean(FlvRecordingDao.class);
+ RecordingDao recordDao = getApplicationContext(ctxName).getBean(RecordingDao.class);
long[] params = {0, 0}; // [0] == deleted [1] == missing
- for (FlvRecording rec : recordDao.getAllFlvRecordings()) {
- checkRecordingFile(hibernateDir, rec.getFileHash(), rec.getDeleted(), params, cleanup);
- checkRecordingFile(hibernateDir, rec.getAlternateDownload(), rec.getDeleted(), params, cleanup);
- checkRecordingFile(hibernateDir, rec.getPreviewImage(), rec.getDeleted(), params, cleanup);
+ for (Recording rec : recordDao.get()) {
+ checkRecordingFile(hibernateDir, rec.getFileHash(), rec.isDeleted(), params, cleanup);
+ checkRecordingFile(hibernateDir, rec.getAlternateDownload(), rec.isDeleted(), params, cleanup);
+ checkRecordingFile(hibernateDir, rec.getPreviewImage(), rec.isDeleted(), params, cleanup);
}
long invalid = 0;
for (File f : hibernateDir.listFiles()) {
if (f.isFile() && f.getName().endsWith(".flv")) {
- FlvRecording rec = recordDao.getRecordingByHash(f.getName());
+ Recording rec = recordDao.getByHash(f.getName());
if (rec == null) {
cleanUpFile(invalid, cleanup, f);
String name = f.getName().substring(0, f.getName().length() - 5);
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java Fri Nov 6 06:18:44 2015
@@ -21,6 +21,7 @@ package org.apache.openmeetings.installa
import static org.apache.openmeetings.db.dao.basic.ConfigurationDao.DEFAULT_APP_NAME;
import static org.apache.openmeetings.db.dao.basic.ConfigurationDao.DEFAULT_MAX_UPLOAD_SIZE;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_BASE_URL;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_NAME;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPOINTMENT_REMINDER_MINUTES;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CALENDAR_FIRST_DAY;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CRYPT_KEY;
@@ -55,18 +56,16 @@ import java.util.Iterator;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.basic.ErrorDao;
import org.apache.openmeetings.db.dao.basic.NavigationDao;
-import org.apache.openmeetings.db.dao.calendar.AppointmentCategoryDao;
-import org.apache.openmeetings.db.dao.calendar.AppointmentReminderTypDao;
import org.apache.openmeetings.db.dao.room.PollDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.room.RoomTypeDao;
import org.apache.openmeetings.db.dao.room.SipDao;
import org.apache.openmeetings.db.dao.server.OAuth2Dao;
import org.apache.openmeetings.db.dao.user.OrganisationDao;
-import org.apache.openmeetings.db.dao.user.SalutationDao;
import org.apache.openmeetings.db.dao.user.StateDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.basic.ErrorValue;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.Type;
import org.apache.openmeetings.db.entity.room.RoomOrganisation;
import org.apache.openmeetings.db.entity.server.OAuthServer;
import org.apache.openmeetings.db.entity.server.OAuthServer.RequestMethod;
@@ -94,13 +93,7 @@ public class ImportInitvalues {
@Autowired
private NavigationDao navimanagement;
@Autowired
- private ErrorDao errorManagement;
- @Autowired
- private SalutationDao salutationmanagement;
- @Autowired
- private AppointmentCategoryDao appointmentCategoryDaoImpl;
- @Autowired
- private AppointmentReminderTypDao appointmentReminderTypDaoImpl;
+ private ErrorDao errorDao;
@Autowired
private PollDao pollManager;
@Autowired
@@ -108,9 +101,7 @@ public class ImportInitvalues {
@Autowired
private OAuth2Dao oauthDao;
@Autowired
- private RoomTypeDao roomTypeDao;
- @Autowired
- private OrganisationDao organisationDao;
+ private OrganisationDao groupDao;
@Autowired
private RoomDao roomDao;
@@ -226,12 +217,6 @@ public class ImportInitvalues {
log.debug("MainMenu ADDED");
}
- public void loadErrorTypes() {
- errorManagement.addErrorType(new Long(1), new Long(322));
- errorManagement.addErrorType(new Long(2), new Long(323));
- log.debug("Error types ADDED");
- }
-
public void loadErrorMappingsFromXML() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File(OmFileHelper.getLanguagesDir(), OmFileHelper.nameOfErrorFile));
@@ -243,9 +228,9 @@ public class ImportInitvalues {
Element row = it.next();
- Long errorvalues_id = null;
- Long fieldvalues_id = null;
- Long errortype_id = null;
+ Long errorvalueId = null;
+ Long labelId = null;
+ ErrorValue.Type type = null;
for (@SuppressWarnings("unchecked")
Iterator<Element> itSub = row.elementIterator("field"); itSub.hasNext();) {
@@ -255,30 +240,21 @@ public class ImportInitvalues {
String text = field.getText();
// System.out.println("NAME | TEXT "+name+" | "+text);
if (name.equals("errorvalues_id")) {
- errorvalues_id = Long.valueOf(text);
+ errorvalueId = Long.valueOf(text);
}
if (name.equals("fieldvalues_id")) {
- fieldvalues_id = Long.valueOf(text);
+ labelId = Long.valueOf(text);
}
- if (name.equals("errortype_id")) {
- errortype_id = Long.valueOf(text);
+ if (name.equals("type")) {
+ type = ErrorValue.Type.valueOf(text);
}
}
- errorManagement.addErrorValues(errorvalues_id, errortype_id, fieldvalues_id);
+ errorDao.addErrorValues(errorvalueId, type, labelId);
}
log.debug("ErrorMappings ADDED");
}
- public void loadSalutations() {
- salutationmanagement.addUserSalutation("Mr", 261);
- salutationmanagement.addUserSalutation("Ms", 262);
- salutationmanagement.addUserSalutation("Mrs", 841);
- salutationmanagement.addUserSalutation("Dr", 842);
- salutationmanagement.addUserSalutation("Prof", 1464);
- log.debug("Salutations ADDED");
- }
-
public void loadConfiguration(InstallationConfig cfg) {
cfgDao.add(CONFIG_CRYPT_KEY, cfg.cryptClassName, null,
"This Class is used for Authentification-Crypting. "
@@ -312,7 +288,7 @@ public class ImportInitvalues {
cfgDao.add("mail.smtp.timeout", "30000", null,
"Socket I/O timeout value in milliseconds. Default is 30 seconds (30000).");
- cfgDao.add("application.name", DEFAULT_APP_NAME, null, "Name of the Browser Title window");
+ cfgDao.add(CONFIG_APPLICATION_NAME, DEFAULT_APP_NAME, null, "Name of the Browser Title window");
// "1" == "EN"
cfgDao.add(CONFIG_DEFAULT_LANG_KEY, cfg.defaultLangId, null, "Default System Language ID see languages.xml");
@@ -443,37 +419,16 @@ public class ImportInitvalues {
log.debug("Configurations ADDED");
}
- public void loadRoomTypes() {
- long conference_Id = roomTypeDao.addRoomType(
- "conference", 1541, false);
- log.debug("conference_Id: " + conference_Id);
-
- // Audience room type is not in use anymore
- roomTypeDao.addRoomType("audience", -1, true);
-
- long restricted_Id = roomTypeDao.addRoomType(
- "restricted", 1542, false);
- log.debug("restricted_Id: " + restricted_Id);
-
- long interview_Id = roomTypeDao.addRoomType(
- "interview", 1543, false);
- log.debug("interview_Id: " + interview_Id);
-
- // Custom room type is not in use anymore
- roomTypeDao.addRoomType("custom", -2, true);
- log.debug("RoomTypes ADDED");
- }
-
- private Room createRoom(String name, long typeId, long capacity, boolean isPublic, Long orgId) {
+ private Room createRoom(String name, Room.Type type, long capacity, boolean isPublic, Long groupId) {
Room r = new Room();
r.setName(name);
r.setComment("");
- r.setStarttime(new Date());
+ r.setInserted(new Date());
r.setNumberOfPartizipants(capacity);
- r.setRoomtype(roomTypeDao.get(typeId));
+ r.setType(type);
r.setIspublic(isPublic);
r.setAllowUserQuestions(true);
- r.setIsAudioOnly(false);
+ r.setAudioOnly(false);
r.setAllowFontStyles(true);
r.setAppointment(false);
@@ -481,12 +436,12 @@ public class ImportInitvalues {
r.setIsDemoRoom(false);
r.setDemoTime(null);
- r.setIsModeratedRoom(false);
+ r.setModerated(false);
r.setHideTopBar(false);
r.setDeleted(false);
- r.setIsClosed(false);
+ r.setClosed(false);
r.setRedirectURL(null);
r.setOwnerId(null);
@@ -494,44 +449,40 @@ public class ImportInitvalues {
r.setWaitForRecording(false);
r.setAllowRecording(true);
- r.setHideChat(false);
- r.setHideActivitiesAndActions(false);
+ r.setChatHidden(false);
+ r.setActivitiesHidden(false);
r.setHideActionsMenu(false);
r.setHideFilesExplorer(false);
r.setHideScreenSharing(false);
r.setHideWhiteboard(false);
- if (orgId != null) {
+ if (groupId != null) {
RoomOrganisation ro = new RoomOrganisation();
ro.setRoom(r);
- ro.setOrganisation(organisationDao.get(orgId));
- ro.setStarttime(new Date());
+ ro.setOrganisation(groupDao.get(groupId));
+ ro.setInserted(new Date());
}
r = roomDao.update(r, null);
return r;
}
+
public void loadDefaultRooms(boolean createRooms) {
if (createRooms) {
- // hardcoded IDs (they are not intended to be changed)
- long conference_Id = 1;
- long restricted_Id = 3;
- long interview_Id = 4;
-
- createRoom("public Interview Room", interview_Id, 16L, true, null);
- createRoom("public Conference Room", conference_Id, 32L, true, null);
- Room r = createRoom("public Video Only Room", conference_Id, 32L, true, null);
+ createRoom("public Interview Room", Type.interview, 16L, true, null);
+ createRoom("public Conference Room", Type.conference, 32L, true, null);
+ Room r = createRoom("public Video Only Room", Type.conference, 32L, true, null);
r.setHideWhiteboard(true);
roomDao.update(r, null);
- createRoom("public Video And Whiteboard Room", conference_Id, 32L, true, null);
- createRoom("public Restricted Room", restricted_Id, 100L, true, null);
- r = createRoom("restricted room with micro option set", restricted_Id, 100L, true, null);
+ createRoom("public Video And Whiteboard Room", Type.conference, 32L, true, null);
+ createRoom("public Restricted Room", Type.restricted, 100L, true, null);
+ r = createRoom("restricted room with micro option set", Type.restricted, 100L, true, null);
r.setShowMicrophoneStatus(true);
roomDao.update(r, null);
- r = createRoom("conference room with micro option set", conference_Id, 32L, true, null);
+ r = createRoom("conference room with micro option set", Type.conference, 32L, true, null);
r.setShowMicrophoneStatus(true);
roomDao.update(r, null);
- createRoom("private Conference Room", conference_Id, 32L, false, 1L);
+ createRoom("private Conference Room", Type.conference, 32L, false, 1L);
}
}
@@ -542,7 +493,7 @@ public class ImportInitvalues {
org.setInsertedby(1L);
org.setDeleted(false);
org.setStarttime(new Date());
- org = organisationDao.update(org, null);
+ org = groupDao.update(org, null);
User u = userDao.getNewUserInstance(null);
u.setType(User.Type.user);
@@ -551,14 +502,14 @@ public class ImportInitvalues {
u.setLogin(cfg.username);
u.setFirstname("firstname");
u.setLastname("lastname");
- u.getAdresses().setEmail(cfg.email);
+ u.getAddress().setEmail(cfg.email);
u.getOrganisation_users().add(new Organisation_Users(org));
u = userDao.update(u, cfg.password, -1);
- log.debug("Installation - User Added user-Id " + u.getUser_id());
+ log.debug("Installation - User Added user-Id " + u.getId());
- if (u.getUser_id() == null) {
+ if (u.getId() == null) {
throw new Exception("Unable to add user");
}
}
@@ -581,37 +532,15 @@ public class ImportInitvalues {
Iterator it = root.elementIterator("country"); it.hasNext();) {
Element item = (Element) it.next();
- statemanagement.addState(item.attributeValue("name"),
+ statemanagement.add(item.attributeValue("name"),
item.attributeValue("short"),
Integer.parseInt(item.attributeValue("code")));
}
log.debug("Countries ADDED");
}
- /**
- * @author o.becherer initial fillment of Appointmentcategories
- */
- // ------------------------------------------------------------------------------
- public void loadInitAppointmentCategories() {
- log.debug("ImportInitValues.loadInitAppointmentCategories");
-
- appointmentCategoryDaoImpl.addAppointmentCategory(new Long(-1), "default", "default");
- }
-
// ------------------------------------------------------------------------------
- /**
- * @author o.becherer initial fillment of AppointMentReminderTypes
- */
- // ------------------------------------------------------------------------------
- public void loadInitAppointmentReminderTypes() {
- log.debug("ImportInitValues.loadInitAppointmentReminderTypes");
-
- appointmentReminderTypDaoImpl.addAppointmentReminderTyps(-1L, "do not send notification", 1568);
- appointmentReminderTypDaoImpl.addAppointmentReminderTyps(-1L, "simple email", 1569);
- appointmentReminderTypDaoImpl.addAppointmentReminderTyps(-1L, "iCal email", 1570);
- }
-
public void loadInitialOAuthServers() throws Exception {
// Yandex
OAuthServer yandexServer = new OAuthServer();
@@ -688,33 +617,21 @@ public class ImportInitvalues {
log.debug("System contains users, no need to install data one more time.");
}
sipDao.delete();
- progress = 8;
+ progress = 14;
loadMainMenu();
- progress = 16;
- loadErrorTypes();
- progress = 24;
+ progress = 28;
loadErrorMappingsFromXML();
- progress = 32;
+ progress = 42;
loadCountriesFiles();
- progress = 40;
- loadSalutations();
- progress = 48;
- // AppointMent Categories
- loadInitAppointmentCategories();
progress = 56;
- // Appointment Reminder types
- loadInitAppointmentReminderTypes();
- progress = 64;
// Appointment poll types
loadPollTypes();
- progress = 72;
- loadRoomTypes();
- progress = 80;
+ progress = 70;
loadConfiguration(cfg);
- progress = 88;
+ progress = 84;
loadInitialOAuthServers();
- progress = 96;
+ progress = 99;
}
public void loadAll(InstallationConfig cfg, boolean force) throws Exception {
Modified: openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java Fri Nov 6 06:18:44 2015
@@ -30,31 +30,25 @@ import org.dom4j.io.XMLWriter;
public class InstallationDocumentHandler {
public static void createDocument(Integer stepNo) throws Exception {
-
Document document = DocumentHelper.createDocument();
-
- Element root = document.addElement( "install" );
+
+ Element root = document.addElement("install");
Element step = root.addElement("step");
-
+
step.addElement("stepnumber").addText(stepNo.toString());
- step.addElement("stepname").addText("Step "+stepNo);
-
+ step.addElement("stepname").addText("Step " + stepNo);
+
XMLWriter writer = new XMLWriter(new FileWriter(OmFileHelper.getInstallFile()));
- writer.write( document );
- writer.close();
-
+ writer.write(document);
+ writer.close();
}
-
- public static int getCurrentStepNumber() throws Exception{
-
- SAXReader reader = new SAXReader();
- Document document = reader.read(OmFileHelper.getInstallFile());
-
- Node node = document.selectSingleNode( "//install/step/stepnumber" );
-
- return Integer.valueOf(node.getText()).intValue();
-
+
+ public static int getCurrentStepNumber() throws Exception {
+ SAXReader reader = new SAXReader();
+ Document document = reader.read(OmFileHelper.getInstallFile());
+
+ Node node = document.selectSingleNode("//install/step/stepnumber");
+
+ return Integer.valueOf(node.getText()).intValue();
}
-
-
}
Added: openmeetings/branches/3.1.x/openmeetings-install/src/site/site.xml
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/site/site.xml?rev=1712911&view=auto
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-install/src/site/site.xml (added)
+++ openmeetings/branches/3.1.x/openmeetings-install/src/site/site.xml Fri Nov 6 06:18:44 2015
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<project xmlns="http://maven.apache.org/DECORATION/1.6.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/DECORATION/1.6.0 http://maven.apache.org/xsd/decoration-1.6.0.xsd"
+ name="Apache OpenMeetings Project">
+
+ <body>
+ <menu ref="parent"/>
+ <menu name="Project">
+ <item name="About" href="/index.html" />
+ <item name="Info" href="/project-info.html" />
+ <item name="Summary" href="/project-summary.html" />
+ <item name="License" href="/license.html" />
+ <item name="Dependencies" href="/dependencies.html" />
+ <item name="Dependency Convergence" href="/dependency-convergence.html" />
+ <item name="RAT Report" href="/rat-report.html" />
+ <item name="JavaDoc" href="/apidocs/index.html" target="_blank" />
+ </menu>
+ </body>
+</project>
Modified: openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java Fri Nov 6 06:18:44 2015
@@ -31,21 +31,20 @@ import java.util.List;
import java.util.TimeZone;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.dao.calendar.AppointmentCategoryDao;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
-import org.apache.openmeetings.db.dao.calendar.AppointmentReminderTypDao;
import org.apache.openmeetings.db.dao.calendar.MeetingMemberDao;
import org.apache.openmeetings.db.dao.label.LabelDao;
import org.apache.openmeetings.db.dao.room.IInvitationManager;
import org.apache.openmeetings.db.dao.room.InvitationDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.room.RoomTypeDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.db.entity.calendar.Appointment.Reminder;
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.Type;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.util.TimezoneUtil;
import org.apache.openmeetings.service.mail.template.AppointmentReminderTemplate;
@@ -60,18 +59,12 @@ public class AppointmentLogic {
@Autowired
private AppointmentDao appointmentDao;
@Autowired
- private AppointmentCategoryDao appointmentCategoryDao;
- @Autowired
- private AppointmentReminderTypDao appointmentReminderTypDao;
- @Autowired
private ConfigurationDao configurationDao;
@Autowired
private LabelDao langDao;
@Autowired
private RoomDao roomDao;
@Autowired
- private RoomTypeDao roomTypeDao;
- @Autowired
private IInvitationManager invitationManager;
@Autowired
private TimezoneUtil timezoneUtil;
@@ -96,13 +89,13 @@ public class AppointmentLogic {
private void sendReminder(User u, Appointment a, Invitation inv) throws Exception {
if (inv == null) {
log.error(String.format("Error retrieving Invitation for member %s in Appointment %s"
- , u.getAdresses().getEmail(), a.getTitle()));
+ , u.getAddress().getEmail(), a.getTitle()));
return;
}
TimeZone tz = timezoneUtil.getTimeZone(u.getTimeZoneId());
- long langId = u.getLanguage_id();
+ long langId = u.getLanguageId();
// Get the required labels one time for all meeting members. The
// Language of the email will be the system default language
@@ -111,7 +104,7 @@ public class AppointmentLogic {
AppointmentReminderTemplate t = AppointmentReminderTemplate.get(langId, a, tz);
invitationManager.sendInvitionLink(inv, MessageType.Create, t.getSubject(), t.getEmail(), false);
- invitationManager.sendInvitationReminderSMS(u.getAdresses().getPhone(), smsSubject, langId);
+ invitationManager.sendInvitationReminderSMS(u.getAddress().getPhone(), smsSubject, langId);
if (inv.getHash() != null) {
inv.setUpdated(new Date());
invitationDao.update(inv);
@@ -150,7 +143,7 @@ public class AppointmentLogic {
end.setTimeInMillis(end.getTimeInMillis() + milliseconds);
}
- for (Appointment a : appointmentDao.getAppointmentsInRange(start, end)) {
+ for (Appointment a : appointmentDao.getInRange(start, end)) {
// Prevent email from being send twice, even if the cycle takes
// very long to send each
if (a.isReminderEmailSend()) {
@@ -179,7 +172,7 @@ public class AppointmentLogic {
// Iterate through all MeetingMembers
for (MeetingMember mm : members) {
- log.debug("doScheduledMeetingReminder : Member " + mm.getUser().getAdresses().getEmail());
+ log.debug("doScheduledMeetingReminder : Member " + mm.getUser().getAddress().getEmail());
Invitation inv = mm.getInvitation();
@@ -198,7 +191,7 @@ public class AppointmentLogic {
String appointmentLocation, String appointmentDescription,
Calendar appointmentstart, Calendar appointmentend,
Boolean isDaily, Boolean isWeekly, Boolean isMonthly,
- Boolean isYearly, Long categoryId, Long remind, String[] mmClient,
+ Boolean isYearly, Long categoryId, String remind, String[] mmClient,
Long roomType, Long languageId,
Boolean isPasswordProtected, String password, long roomId, Long users_id) {
Appointment a = new Appointment();
@@ -211,15 +204,14 @@ public class AppointmentLogic {
a.setIsWeekly(isWeekly);
a.setIsMonthly(isMonthly);
a.setIsYearly(isYearly);
- a.setCategory(appointmentCategoryDao.get(categoryId));
- a.setRemind(appointmentReminderTypDao.get(remind));
+ a.setReminder(Reminder.valueOf(remind));
if (roomId > 0) {
a.setRoom(roomDao.get(roomId));
} else {
a.setRoom(new Room());
a.getRoom().setComment(appointmentDescription);
a.getRoom().setName(appointmentName);
- a.getRoom().setRoomtype(roomTypeDao.get(roomType));
+ a.getRoom().setType(Type.get(roomType));
}
a.setOwner(userDao.get(users_id));
a.setPasswordProtected(isPasswordProtected);
Modified: openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/RequestContactConfirmTemplate.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/RequestContactConfirmTemplate.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/RequestContactConfirmTemplate.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/RequestContactConfirmTemplate.java Fri Nov 6 06:18:44 2015
@@ -25,7 +25,7 @@ public class RequestContactConfirmTempla
private static final long serialVersionUID = 1L;
public RequestContactConfirmTemplate(UserContact contact) {
- super(contact.getOwner().getLanguage_id());
+ super(contact.getOwner().getLanguageId());
add(new Label("hi", getString(1192, langId)));
add(new Label("firstName", contact.getOwner().getFirstname()));
add(new Label("lastName", contact.getOwner().getLastname()));
Modified: openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/RequestContactTemplate.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/RequestContactTemplate.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/RequestContactTemplate.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/RequestContactTemplate.java Fri Nov 6 06:18:44 2015
@@ -26,7 +26,7 @@ public class RequestContactTemplate exte
private static final long serialVersionUID = 1L;
public RequestContactTemplate(User userToAdd, User user) {
- super(userToAdd.getLanguage_id());
+ super(userToAdd.getLanguageId());
add(new Label("hi", getString(1192, langId)));
add(new Label("addedFirstName", userToAdd.getFirstname()));
add(new Label("addedLastName", userToAdd.getLastname()));
Modified: openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java Fri Nov 6 06:18:44 2015
@@ -20,6 +20,7 @@ package org.apache.openmeetings.service.
import org.apache.openmeetings.service.calendar.AppointmentLogic;
+import org.apache.openmeetings.util.InitializationContainer;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -32,6 +33,9 @@ public class MeetingReminderJob {
public void doIt() {
log.debug("MeetingReminderJob.execute");
+ if (!InitializationContainer.initComplete) {
+ return;
+ }
try {
appointmentLogic.doScheduledMeetingReminder();
} catch (Exception err){
Modified: openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/SessionClearJob.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/SessionClearJob.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/SessionClearJob.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/SessionClearJob.java Fri Nov 6 06:18:44 2015
@@ -19,6 +19,7 @@
package org.apache.openmeetings.service.quartz.scheduler;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
+import org.apache.openmeetings.util.InitializationContainer;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -28,14 +29,26 @@ public class SessionClearJob {
private static Logger log = Red5LoggerFactory.getLogger(SessionClearJob.class, OpenmeetingsVariables.webAppRootKey);
@Autowired
private SessiondataDao sessiondataDao;
+ private long timeout = 1800000L;
public void doIt() {
log.trace("SessionClearJob.execute");
+ if (!InitializationContainer.initComplete) {
+ return;
+ }
try {
// TODO Generate report
- sessiondataDao.clearSessionTable();
+ sessiondataDao.clearSessionTable(timeout);
} catch (Exception err){
log.error("execute",err);
}
}
+
+ public long getTimeout() {
+ return timeout;
+ }
+
+ public void setTimeout(long timeout) {
+ this.timeout = timeout;
+ }
}
Modified: openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/TestSetupCleanupJob.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/TestSetupCleanupJob.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/TestSetupCleanupJob.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/TestSetupCleanupJob.java Fri Nov 6 06:18:44 2015
@@ -21,6 +21,7 @@ package org.apache.openmeetings.service.
import java.io.File;
import java.io.FileFilter;
+import org.apache.openmeetings.util.InitializationContainer;
import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.red5.logging.Red5LoggerFactory;
@@ -32,6 +33,9 @@ public class TestSetupCleanupJob {
public void doIt() {
log.debug("TestSetupClearJob.execute");
+ if (!InitializationContainer.initComplete) {
+ return;
+ }
try {
//FIXME need to move all these staff to helper
File[] folders = OmFileHelper.getStreamsDir().listFiles();
Modified: openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java Fri Nov 6 06:18:44 2015
@@ -36,6 +36,7 @@ import org.apache.openmeetings.db.dao.ro
import org.apache.openmeetings.db.dao.room.InvitationDao;
import org.apache.openmeetings.db.entity.basic.MailMessage;
import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.db.entity.calendar.Appointment.Reminder;
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
@@ -92,7 +93,7 @@ public class InvitationManager implement
private void sendInvitionLink(Appointment a, MeetingMember mm, MessageType type, boolean ical) throws Exception {
User owner = a.getOwner();
String invitorName = owner.getFirstname() + " " + owner.getLastname();
- Long langId = mm.getUser().getLanguage_id();
+ Long langId = mm.getUser().getLanguageId();
TimeZone tz = timezoneUtil.getTimeZone(mm.getUser());
AbstractAppointmentTemplate t = null;
switch (type) {
@@ -116,13 +117,13 @@ public class InvitationManager implement
User owner = i.getInvitedBy();
String invitorName = owner.getFirstname() + " " + owner.getLastname();
- String template = InvitationTemplate.getEmail(i.getInvitee().getLanguage_id(), invitorName, message, invitation_link);
- String email = i.getInvitee().getAdresses().getEmail();
- String replyToEmail = owner.getAdresses().getEmail();
+ String template = InvitationTemplate.getEmail(i.getInvitee().getLanguageId(), invitorName, message, invitation_link);
+ String email = i.getInvitee().getAddress().getEmail();
+ String replyToEmail = owner.getAddress().getEmail();
if (ical) {
String username = i.getInvitee().getLogin();
- boolean isOwner = owner.getUser_id().equals(i.getInvitee().getUser_id());
+ boolean isOwner = owner.getId().equals(i.getInvitee().getId());
IcalHandler handler = new IcalHandler(MessageType.Cancel == type ? IcalHandler.ICAL_METHOD_CANCEL : IcalHandler.ICAL_METHOD_REQUEST);
HashMap<String, String> attendeeList = handler.getAttendeeData(email, username, isOwner);
@@ -283,32 +284,27 @@ public class InvitationManager implement
}
public void processInvitation(Appointment a, MeetingMember mm, MessageType type, boolean sendMail) {
- if (a.getRemind() == null) {
+ Reminder reminder = a.getReminder();
+ if (reminder == null) {
log.error("Appointment doesn't have reminder set!");
return;
}
- long remindType = a.getRemind().getTypId();
- if (remindType < 2) {
+ if (Reminder.none == reminder) {
log.error("MeetingMember should not have invitation!");
return;
}
- log.debug(":::: processInvitation ..... " + remindType);
-
- // appointment.getRemind().getTypId() == 1 will not receive emails
- if (remindType > 1) {
- log.debug("Invitation for Appointment : simple email");
-
- try {
- mm.setInvitation(getInvitation(mm.getInvitation()
- , mm.getUser(), a.getRoom(), a.isPasswordProtected(), a.getPassword()
- , Valid.Period, a.getOwner(), null, a.getStart(), a.getEnd(), a));
- if (sendMail) {
- sendInvitionLink(a, mm, type, remindType > 2);
- }
- } catch (Exception e) {
- log.error("Unexpected error while setting invitation", e);
+ log.debug(":::: processInvitation ..... " + reminder);
+ log.debug("Invitation for Appointment : simple email");
+ try {
+ mm.setInvitation(getInvitation(mm.getInvitation()
+ , mm.getUser(), a.getRoom(), a.isPasswordProtected(), a.getPassword()
+ , Valid.Period, a.getOwner(), null, a.getStart(), a.getEnd(), a));
+ if (sendMail) {
+ sendInvitionLink(a, mm, type, Reminder.ical == reminder);
}
+ } catch (Exception e) {
+ log.error("Unexpected error while setting invitation", e);
}
}
@@ -354,7 +350,7 @@ public class InvitationManager implement
invitation.setInvitedBy(createdBy);
invitation.setInvitee(inveetee);
if (language_id != null && Type.contact == invitation.getInvitee().getType()) {
- invitation.getInvitee().setLanguage_id(language_id);
+ invitation.getInvitee().setLanguageId(language_id);
}
invitation.setRoom(room);
invitation.setInserted(new Date());