Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/AppointmentDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/AppointmentDTO.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/AppointmentDTO.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/AppointmentDTO.java
 Fri Nov  6 06:18:44 2015
@@ -18,18 +18,29 @@
  */
 package org.apache.openmeetings.db.dto.calendar;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.TimeZone;
 
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.room.RoomDTO;
 import org.apache.openmeetings.db.dto.user.UserDTO;
 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;
 
-public class AppointmentDTO {
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class AppointmentDTO implements Serializable {
+       private static final long serialVersionUID = 1L;
        private Long id;
        private String title;
        private String location;
@@ -40,11 +51,12 @@ public class AppointmentDTO {
        private Date inserted;
        private Date updated;
        private boolean deleted;
-       private AppointmentReminderTypeDTO reminder;
+       private Reminder reminder;
        private RoomDTO room;
        private String icalId;
-       private List<MeetingMemberDTO> meetingMembers;
+       private List<MeetingMemberDTO> meetingMembers = new ArrayList<>();
        private Long languageId;
+       private String password;
        private boolean passwordProtected;
        private boolean connectedEvent;
        private boolean reminderEmailSend;
@@ -65,12 +77,13 @@ public class AppointmentDTO {
                inserted = a.getInserted();
                updated = a.getUpdated();
                deleted = a.isDeleted();
-               reminder = new AppointmentReminderTypeDTO(a.getRemind());
+               reminder = a.getReminder();
                room = new RoomDTO(a.getRoom());
                icalId = a.getIcalId();
-               meetingMembers = new ArrayList<>();
-               for(MeetingMember mm: a.getMeetingMembers()) {
-                       meetingMembers.add(new MeetingMemberDTO(mm));
+               if (a.getMeetingMembers() != null) {
+                       for(MeetingMember mm : a.getMeetingMembers()) {
+                               meetingMembers.add(new MeetingMemberDTO(mm));
+                       }
                }
                languageId = a.getLanguageId();
                passwordProtected = a.isPasswordProtected();
@@ -78,6 +91,34 @@ public class AppointmentDTO {
                reminderEmailSend = a.isReminderEmailSend();
        }
 
+       public Appointment get(UserDao userDao, AppointmentDao appointmentDao) {
+               Appointment a = id == null ? new Appointment() : 
appointmentDao.get(id);
+               a.setId(id);
+               a.setTitle(title);
+               a.setLocation(location);
+               a.setStart(start.getTime());
+               a.setEnd(end.getTime());
+               a.setDescription(description);
+               a.setOwner(owner.get(userDao));
+               a.setInserted(inserted);
+               a.setUpdated(updated);
+               a.setDeleted(deleted);
+               a.setReminder(reminder);
+               a.setRoom(room.get());
+               a.setIcalId(icalId);
+               a.setMeetingMembers(new ArrayList<MeetingMember>());
+               for(MeetingMemberDTO mm : meetingMembers) {
+                       MeetingMember m = mm.get(userDao);
+                       m.setAppointment(a);
+                       a.getMeetingMembers().add(m);
+               }
+               a.setLanguageId(languageId);
+               a.setPasswordProtected(passwordProtected);
+               a.setConnectedEvent(connectedEvent);
+               a.setReminderEmailSend(reminderEmailSend);
+               return a;
+       }
+       
        public Long getId() {
                return id;
        }
@@ -158,11 +199,11 @@ public class AppointmentDTO {
                this.deleted = deleted;
        }
 
-       public AppointmentReminderTypeDTO getReminder() {
+       public Reminder getReminder() {
                return reminder;
        }
 
-       public void setReminder(AppointmentReminderTypeDTO reminder) {
+       public void setReminder(Reminder reminder) {
                this.reminder = reminder;
        }
 
@@ -221,4 +262,20 @@ public class AppointmentDTO {
        public void setReminderEmailSend(boolean reminderEmailSend) {
                this.reminderEmailSend = reminderEmailSend;
        }
+
+       public static List<AppointmentDTO> list(List<Appointment> list) {
+               List<AppointmentDTO> result = new ArrayList<>(list.size());
+               for (Appointment a : list) {
+                       result.add(new AppointmentDTO(a));
+               }
+               return result;
+       }
+
+       public String getPassword() {
+               return password;
+       }
+
+       public void setPassword(String password) {
+               this.password = password;
+       }
 }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
 Fri Nov  6 06:18:44 2015
@@ -18,10 +18,20 @@
  */
 package org.apache.openmeetings.db.dto.calendar;
 
+import java.io.Serializable;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.user.UserDTO;
 import org.apache.openmeetings.db.entity.calendar.MeetingMember;
 
-public class MeetingMemberDTO {
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class MeetingMemberDTO implements Serializable {
+       private static final long serialVersionUID = 1L;
        private Long id;
        private UserDTO user;
        
@@ -32,6 +42,13 @@ public class MeetingMemberDTO {
                this.user = new UserDTO(mm.getUser());
        }
 
+       public MeetingMember get(UserDao userDao) {
+               MeetingMember mm = new MeetingMember();
+               mm.setId(id);
+               mm.setUser(user.get(userDao));
+               return mm;
+       }
+       
        public Long getId() {
                return id;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerObject.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerObject.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerObject.java
 Fri Nov  6 06:18:44 2015
@@ -18,6 +18,8 @@
  */
 package org.apache.openmeetings.db.dto.file;
 
+import java.util.List;
+
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
 
 /**
@@ -26,21 +28,23 @@ import org.apache.openmeetings.db.entity
  */
 public class FileExplorerObject {
 
-       private FileExplorerItem[] userHome;
-       private FileExplorerItem[] roomHome;
+       private List<FileExplorerItem> userHome;
+       private List<FileExplorerItem> roomHome;
        private Long userHomeSize;
        private Long roomHomeSize;
        
-       public FileExplorerItem[] getUserHome() {
+       public FileExplorerObject() {}
+       
+       public List<FileExplorerItem> getUserHome() {
                return userHome;
        }
-       public void setUserHome(FileExplorerItem[] userHome) {
+       public void setUserHome(List<FileExplorerItem> userHome) {
                this.userHome = userHome;
        }
-       public FileExplorerItem[] getRoomHome() {
+       public List<FileExplorerItem> getRoomHome() {
                return roomHome;
        }
-       public void setRoomHome(FileExplorerItem[] roomHome) {
+       public void setRoomHome(List<FileExplorerItem> roomHome) {
                this.roomHome = roomHome;
        }
        public Long getUserHomeSize() {

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FilesObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FilesObject.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FilesObject.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FilesObject.java
 Fri Nov  6 06:18:44 2015
@@ -31,6 +31,9 @@ public class FilesObject {
        private String lastModified;
        private String fileBytes;
        private String isimage;
+       
+       public FilesObject() {}
+       
        public String getFileName() {
                return fileName;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FoldersObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FoldersObject.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FoldersObject.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FoldersObject.java
 Fri Nov  6 06:18:44 2015
@@ -27,6 +27,8 @@ public class FoldersObject {
        private String folderName;
        private String lastModified;
        
+       public FoldersObject() {}
+       
        public String getFolderName() {
                return folderName;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LiberaryObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LiberaryObject.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LiberaryObject.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LiberaryObject.java
 Fri Nov  6 06:18:44 2015
@@ -33,6 +33,9 @@ public class LiberaryObject {
        private LinkedList<FoldersObject> foldersList;
        private PresentationObject presentationObject;
        private String error;
+       
+       public LiberaryObject() {}
+       
        public LinkedList<FilesObject> getFilesList() {
                return filesList;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresenationThumbs.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresenationThumbs.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresenationThumbs.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresenationThumbs.java
 Fri Nov  6 06:18:44 2015
@@ -22,6 +22,9 @@ public class LibraryPresenationThumbs {
 
        private String name = "";
        private LibraryPresentationThumb[] thumbs = null;
+       
+       public LibraryPresenationThumbs() {}
+       
        public String getName() {
                return name;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentation.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentation.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentation.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentation.java
 Fri Nov  6 06:18:44 2015
@@ -25,6 +25,8 @@ public class LibraryPresentation {
        private LibraryPresentationFile swfDocument = null;
        private LibraryPresenationThumbs thumbs = null;
        
+       public LibraryPresentation() {}
+       
        public LibraryPresentationFile getOriginalDocument() {
                return originalDocument;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentationFile.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentationFile.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentationFile.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentationFile.java
 Fri Nov  6 06:18:44 2015
@@ -25,6 +25,8 @@ public class LibraryPresentationFile {
        private String lastmod = null;
        private Long size = null;
        
+       public LibraryPresentationFile() {}
+       
        public String getName() {
                return name;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentationThumb.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentationThumb.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentationThumb.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentationThumb.java
 Fri Nov  6 06:18:44 2015
@@ -25,6 +25,8 @@ public class LibraryPresentationThumb {
        private String lastmod = null;
        private Long size = null;
        
+       public LibraryPresentationThumb() {}
+       
        public String getName() {
                return name;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/PresentationObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/PresentationObject.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/PresentationObject.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/PresentationObject.java
 Fri Nov  6 06:18:44 2015
@@ -31,6 +31,8 @@ public class PresentationObject {
        private FilesObject swfDocument;
        LinkedList<FilesObject> thumbs;
 
+       public PresentationObject() {}
+       
        public FilesObject getOriginalDocument() {
                return originalDocument;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java
 Fri Nov  6 06:18:44 2015
@@ -22,7 +22,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
-import org.apache.openmeetings.db.entity.record.FlvRecording;
+import org.apache.openmeetings.db.entity.record.Recording;
 
 public class RecordingDTO {
        private Long id;
@@ -39,12 +39,12 @@ public class RecordingDTO {
 
        public RecordingDTO() {}
        
-       public RecordingDTO(FlvRecording r) {
-               this.id = r.getFlvRecordingId();
+       public RecordingDTO(Recording r) {
+               this.id = r.getId();
                this.name = r.getFileName();
                this.flvName = r.getFileHash();
                this.aviName = r.getAlternateDownload();
-               this.roomId = r.getRoom_id();
+               this.roomId = r.getRoomId();
                this.status = r.getStatus().name();
                this.interview = r.getIsInterview();
                this.start = r.getRecordStart();
@@ -141,10 +141,10 @@ public class RecordingDTO {
                this.height = height;
        }
        
-       public static List<RecordingDTO> list(List<FlvRecording> l) {
+       public static List<RecordingDTO> list(List<Recording> l) {
                List<RecordingDTO> rList = new ArrayList<RecordingDTO>();
                if (l != null) {
-                       for (FlvRecording r : l) {
+                       for (Recording r : l) {
                                rList.add(new RecordingDTO(r));
                        }
                }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/BrowserStatus.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/BrowserStatus.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/BrowserStatus.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/BrowserStatus.java
 Fri Nov  6 06:18:44 2015
@@ -23,6 +23,8 @@ public class BrowserStatus {
        private boolean browserInited = false;
        private String currentURL = "";
        
+       public BrowserStatus() {}
+       
        public boolean isBrowserInited() {
                return browserInited;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Cliparts.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Cliparts.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Cliparts.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Cliparts.java
 Fri Nov  6 06:18:44 2015
@@ -26,6 +26,8 @@ public class Cliparts {
        private String[] generalList;
        private List<Cliparts> subCategories;
 
+       public Cliparts() {}
+       
        public String[] getGeneralList() {
                return generalList;
        }

Added: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java?rev=1712911&view=auto
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
 (added)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
 Fri Nov  6 06:18:44 2015
@@ -0,0 +1,210 @@
+/*
+ * 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.db.dto.room;
+
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
+import java.io.Serializable;
+import java.security.NoSuchAlgorithmException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.Valid;
+import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.util.crypt.MD5;
+import org.apache.openmeetings.util.crypt.ManageCryptStyle;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class InvitationDTO implements Serializable {
+       private static final long serialVersionUID = 1L;
+       private static final Logger log = 
Red5LoggerFactory.getLogger(InvitationDTO.class, webAppRootKey);
+       private static ThreadLocal<SimpleDateFormat> SDF = new 
ThreadLocal<SimpleDateFormat>() {
+               protected SimpleDateFormat initialValue() {
+                       return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+               };
+       };
+       
+       private String email;
+       private String firstname;
+       private String lastname;
+       private String message;
+       private String subject;
+       private Long roomId;
+       private boolean passwordProtected;
+       private String password;
+       private Valid valid;
+       private String validFrom;
+       private String validTo;
+       private long languageId;
+       
+       public InvitationDTO() {}
+       
+       public String getEmail() {
+               return email;
+       }
+       public void setEmail(String email) {
+               this.email = email;
+       }
+       public String getFirstname() {
+               return firstname;
+       }
+       public void setFirstname(String firstname) {
+               this.firstname = firstname;
+       }
+       public String getLastname() {
+               return lastname;
+       }
+       public void setLastname(String lastname) {
+               this.lastname = lastname;
+       }
+       public String getMessage() {
+               return message;
+       }
+       public void setMessage(String message) {
+               this.message = message;
+       }
+       public String getSubject() {
+               return subject;
+       }
+       public void setSubject(String subject) {
+               this.subject = subject;
+       }
+       public Long getRoomId() {
+               return roomId;
+       }
+       public void setRoomId(Long roomId) {
+               this.roomId = roomId;
+       }
+       public boolean isPasswordProtected() {
+               return passwordProtected;
+       }
+       public void setPasswordProtected(boolean passwordProtected) {
+               this.passwordProtected = passwordProtected;
+       }
+       public String getPassword() {
+               return password;
+       }
+       public void setPassword(String password) {
+               this.password = password;
+       }
+       public Valid getValid() {
+               return valid;
+       }
+       public void setValid(Valid valid) {
+               this.valid = valid;
+       }
+       /**
+        * Method to get valid from date-time in format YYYY-MM-dd HH:mm:ss
+        * 
+        * @return date-time in format YYYY-MM-dd HH:mm:ss
+        */
+       public String getValidFrom() {
+               return validFrom;
+       }
+       /**
+        * Method to set valid from date-time in format YYYY-MM-dd HH:mm:ss
+        * 
+        * @param validFrom date-time in format YYYY-MM-dd HH:mm:ss
+        */
+       public void setValidFrom(String validFrom) {
+               this.validFrom = validFrom;
+       }
+       /**
+        * Method to get valid to date-time in format YYYY-MM-dd HH:mm:ss
+        * 
+        * @return date-time in format YYYY-MM-dd HH:mm:ss
+        */
+       public String getValidTo() {
+               return validTo;
+       }
+       /**
+        * Method to set valid to date-time in format YYYY-MM-dd HH:mm:ss
+        * 
+        * @param validFrom date-time in format YYYY-MM-dd HH:mm:ss
+        */
+       public void setValidTo(String validTo) {
+               this.validTo = validTo;
+       }
+       public long getLanguageId() {
+               return languageId;
+       }
+       public void setLanguageId(long languageId) {
+               this.languageId = languageId;
+       }
+       
+       public Invitation get(Long userId, UserDao userDao, RoomDao roomDao) {
+               Invitation i = new Invitation();
+               String hashRaw = "HASH" + (System.currentTimeMillis());
+               try {
+                       i.setHash(MD5.do_checksum(hashRaw));
+               } catch (NoSuchAlgorithmException e) {
+                       //FIXME TODO need to throw other exception
+                       log.error("Unexpected error while creating invitation", 
e);
+                       throw new RuntimeException(e);
+               }
+               i.setPasswordProtected(passwordProtected);
+               if (passwordProtected) {
+                       
i.setPassword(ManageCryptStyle.getInstanceOfCrypt().createPassPhrase(password));
+               }
+
+               i.setUsed(false);
+               i.setValid(valid);
+               
+               try {
+                       // valid period of Invitation
+                       switch (valid) {
+                               case Period:
+                                       i.setValidFrom(new 
Date(SDF.get().parse(validFrom).getTime() - (5 * 60 * 1000)));
+                                       i.setValidTo(SDF.get().parse(validTo));
+                                       break;
+                               case Endless:
+                               case OneTime:
+                               default:
+                                       break;
+                       }
+               } catch (ParseException e) {
+                       //FIXME TODO need to throw other exception
+                       log.error("Unexpected error while creating invitation", 
e);
+                       throw new RuntimeException(e);
+               }
+
+               i.setDeleted(false);
+
+               i.setInvitedBy(userDao.get(userId));
+               i.setInvitee(userDao.getContact(email, firstname, lastname, 
userId));
+               if (Type.contact == i.getInvitee().getType()) {
+                       i.getInvitee().setLanguageId(languageId);
+               }
+               i.setRoom(roomDao.get(roomId));
+               i.setInserted(new Date());
+               i.setAppointment(null);
+               return i;
+       }
+}

Added: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java?rev=1712911&view=auto
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
 (added)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
 Fri Nov  6 06:18:44 2015
@@ -0,0 +1,53 @@
+/*
+ * 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.db.dto.room;
+
+public class RoomCountBean {
+       private long roomId;
+       private String roomName;
+       private Integer roomCount;
+       private Integer maxUser;
+       
+       public RoomCountBean() {}
+       
+       public long getRoomId() {
+               return roomId;
+       }
+       public void setRoomId(long roomId) {
+               this.roomId = roomId;
+       }
+       public String getRoomName() {
+               return roomName;
+       }
+       public void setRoomName(String roomName) {
+               this.roomName = roomName;
+       }
+       public Integer getRoomCount() {
+               return roomCount;
+       }
+       public void setRoomCount(Integer roomCount) {
+               this.roomCount = roomCount;
+       }
+       public Integer getMaxUser() {
+               return maxUser;
+       }
+       public void setMaxUser(Integer maxUser) {
+               this.maxUser = maxUser;
+       }
+}

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
 Fri Nov  6 06:18:44 2015
@@ -18,17 +18,24 @@
  */
 package org.apache.openmeetings.db.dto.room;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
 import org.apache.openmeetings.db.entity.room.Room;
-import org.apache.openmeetings.db.entity.room.RoomType;
 
-public class RoomDTO {
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class RoomDTO implements Serializable {
+       private static final long serialVersionUID = 1L;
        private Long id;
        private String name;
        private String comment;
-       private RoomType roomtype;
+       private Room.Type type;
        private Long numberOfPartizipants = new Long(4);
        private boolean appointment;
        private String confno;
@@ -36,8 +43,13 @@ public class RoomDTO {
        private boolean demo;
        private boolean closed;
        private Integer demoTime;
+       private Long externalId;
+       private String externalType;
+       private String redirectUrl;
        private boolean moderated;
        private boolean allowUserQuestions;
+       private boolean allowRecording;
+       private boolean waitForRecording;
        private boolean audioOnly;
        private boolean topBarHidden;
        private boolean chatHidden;
@@ -50,29 +62,64 @@ public class RoomDTO {
        public RoomDTO() {}
        
        public RoomDTO(Room r) {
-               id = r.getRooms_id();
+               id = r.getId();
                name = r.getName();
                comment = r.getComment();
-               roomtype = r.getRoomtype();
+               type = r.getType();
                numberOfPartizipants = r.getNumberOfPartizipants();
-               appointment = r.getAppointment();
+               appointment = r.isAppointment();
                confno = r.getConfno();
-               isPublic = Boolean.TRUE.equals(r.getIspublic());
-               demo = Boolean.TRUE.equals(r.getIsDemoRoom());
-               closed = r.getIsClosed();
+               isPublic = r.getIspublic();
+               demo = r.getIsDemoRoom();
+               closed = r.isClosed();
                demoTime = r.getDemoTime();
-               moderated = Boolean.TRUE.equals(r.getIsModeratedRoom());
-               allowUserQuestions = 
Boolean.TRUE.equals(r.getAllowUserQuestions());
-               audioOnly = Boolean.TRUE.equals(r.getIsAudioOnly());
-               topBarHidden = Boolean.TRUE.equals(r.getHideTopBar());
-               chatHidden = Boolean.TRUE.equals(r.getHideChat());
-               activitiesHidden = 
Boolean.TRUE.equals(r.getHideActivitiesAndActions());
-               filesExplorerHidden = 
Boolean.TRUE.equals(r.getHideFilesExplorer());
-               actionsMenuHidden = Boolean.TRUE.equals(r.getHideActionsMenu());
-               screenSharingHidden = 
Boolean.TRUE.equals(r.getHideScreenSharing());
-               whiteboardHidden = Boolean.TRUE.equals(r.getHideWhiteboard());
+               externalId = r.getExternalId();
+               externalType = r.getExternalType();
+               redirectUrl = r.getRedirectURL();
+               moderated = r.isModerated();
+               allowUserQuestions = r.getAllowUserQuestions();
+               allowRecording = r.isAllowRecording();
+               waitForRecording = r.getWaitForRecording();
+               audioOnly = r.isAudioOnly();
+               topBarHidden = r.getHideTopBar();
+               chatHidden = r.isChatHidden();
+               activitiesHidden = r.isActivitiesHidden();
+               filesExplorerHidden = r.getHideFilesExplorer();
+               actionsMenuHidden = r.getHideActionsMenu();
+               screenSharingHidden = r.getHideScreenSharing();
+               whiteboardHidden = r.getHideWhiteboard();
+       }
+
+       public Room get() {
+               Room r = new Room();
+               r.setId(id);
+               r.setName(name);
+               r.setComment(comment);
+               r.setType(type);
+               r.setNumberOfPartizipants(numberOfPartizipants);
+               r.setAppointment(appointment);
+               r.setConfno(confno);
+               r.setIspublic(isPublic);
+               r.setIsDemoRoom(demo);
+               r.setDemoTime(demoTime);
+               r.setExternalId(externalId);
+               r.setExternalType(externalType);
+               r.setRedirectURL(redirectUrl);
+               r.setModerated(moderated);
+               r.setAllowUserQuestions(allowUserQuestions);
+               r.setAllowRecording(allowRecording);
+               r.setWaitForRecording(waitForRecording);
+               r.setAudioOnly(audioOnly);
+               r.setHideTopBar(topBarHidden);
+               r.setChatHidden(chatHidden);
+               r.setActivitiesHidden(activitiesHidden);
+               r.setHideFilesExplorer(filesExplorerHidden);
+               r.setHideActionsMenu(actionsMenuHidden);
+               r.setHideScreenSharing(screenSharingHidden);
+               r.setHideWhiteboard(whiteboardHidden);
+               return r;
        }
-
+       
        public Long getId() {
                return id;
        }
@@ -97,12 +144,12 @@ public class RoomDTO {
                this.comment = comment;
        }
 
-       public RoomType getRoomtype() {
-               return roomtype;
+       public Room.Type getType() {
+               return type;
        }
 
-       public void setRoomtype(RoomType roomtype) {
-               this.roomtype = roomtype;
+       public void setType(Room.Type type) {
+               this.type = type;
        }
 
        public Long getNumberOfPartizipants() {
@@ -161,6 +208,22 @@ public class RoomDTO {
                this.allowUserQuestions = allowUserQuestions;
        }
 
+       public boolean isAllowRecording() {
+               return allowRecording;
+       }
+
+       public void setAllowRecording(boolean allowRecording) {
+               this.allowRecording = allowRecording;
+       }
+
+       public boolean isWaitForRecording() {
+               return waitForRecording;
+       }
+
+       public void setWaitForRecording(boolean waitForRecording) {
+               this.waitForRecording = waitForRecording;
+       }
+
        public boolean isAudioOnly() {
                return audioOnly;
        }
@@ -233,6 +296,30 @@ public class RoomDTO {
                this.isPublic = isPublic;
        }
 
+       public Long getExternalId() {
+               return externalId;
+       }
+
+       public void setExternalId(Long externalId) {
+               this.externalId = externalId;
+       }
+
+       public String getExternalType() {
+               return externalType;
+       }
+
+       public void setExternalType(String externalType) {
+               this.externalType = externalType;
+       }
+
+       public String getRedirectUrl() {
+               return redirectUrl;
+       }
+
+       public void setRedirectUrl(String redirectUrl) {
+               this.redirectUrl = redirectUrl;
+       }
+
        public boolean isClosed() {
                return closed;
        }

Added: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java?rev=1712911&view=auto
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
 (added)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
 Fri Nov  6 06:18:44 2015
@@ -0,0 +1,83 @@
+/*
+ * 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.db.dto.room;
+
+import java.io.Serializable;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class RoomOptionsDTO implements Serializable {
+       private static final long serialVersionUID = 1L;
+       private Long roomId;
+       private Long recordingId;
+       private boolean moderator;
+       private boolean showAudioVideoTest;
+       private boolean showNickNameDialog;
+       private boolean allowSameURLMultipleTimes;
+       private boolean allowRecording;
+       
+       public RoomOptionsDTO() {}
+       
+       public Long getRoomId() {
+               return roomId;
+       }
+       public void setRoomId(Long roomId) {
+               this.roomId = roomId;
+       }
+       public Long getRecordingId() {
+               return recordingId;
+       }
+       public void setRecordingId(Long recordingId) {
+               this.recordingId = recordingId;
+       }
+       public boolean isModerator() {
+               return moderator;
+       }
+       public void setModerator(boolean moderator) {
+               this.moderator = moderator;
+       }
+       public boolean isShowAudioVideoTest() {
+               return showAudioVideoTest;
+       }
+       public void setShowAudioVideoTest(boolean showAudioVideoTest) {
+               this.showAudioVideoTest = showAudioVideoTest;
+       }
+       public boolean isShowNickNameDialog() {
+               return showNickNameDialog;
+       }
+       public void setShowNickNameDialog(boolean showNickNameDialog) {
+               this.showNickNameDialog = showNickNameDialog;
+       }
+       public boolean isAllowSameURLMultipleTimes() {
+               return allowSameURLMultipleTimes;
+       }
+       public void setAllowSameURLMultipleTimes(boolean 
allowSameURLMultipleTimes) {
+               this.allowSameURLMultipleTimes = allowSameURLMultipleTimes;
+       }
+       public boolean isAllowRecording() {
+               return allowRecording;
+       }
+       public void setAllowRecording(boolean allowRecording) {
+               this.allowRecording = allowRecording;
+       }
+}

Added: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomReturn.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomReturn.java?rev=1712911&view=auto
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomReturn.java
 (added)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomReturn.java
 Fri Nov  6 06:18:44 2015
@@ -0,0 +1,73 @@
+/*
+ * 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.db.dto.room;
+
+import java.util.Date;
+
+public class RoomReturn {
+
+       private Long roomId;
+       private String name;
+       private String creator;
+       private Date created;
+       private RoomUser[] roomUser;
+
+       public RoomReturn() {}
+       
+       public Long getRoomId() {
+               return roomId;
+       }
+
+       public void setRoomId(Long roomId) {
+               this.roomId = roomId;
+       }
+
+       public String getName() {
+               return name;
+       }
+
+       public void setName(String name) {
+               this.name = name;
+       }
+
+       public String getCreator() {
+               return creator;
+       }
+
+       public void setCreator(String creator) {
+               this.creator = creator;
+       }
+
+       public Date getCreated() {
+               return created;
+       }
+
+       public void setCreated(Date created) {
+               this.created = created;
+       }
+
+       public RoomUser[] getRoomUser() {
+               return roomUser;
+       }
+
+       public void setRoomUser(RoomUser[] roomUser) {
+               this.roomUser = roomUser;
+       }
+
+}

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomSearchResult.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomSearchResult.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomSearchResult.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomSearchResult.java
 Fri Nov  6 06:18:44 2015
@@ -30,14 +30,18 @@ public class RoomSearchResult {
        private List<RoomDTO> result;
        private Long errorId;
 
+       public RoomSearchResult() {}
+       
        public RoomSearchResult(SearchResult<Room> copy) {
-               this.objectName = copy.getObjectName();
-               this.records = copy.getRecords();
-               this.result = new ArrayList<RoomDTO>(copy.getResult().size());
-               for (Room r : copy.getResult()) {
-                       result.add(new RoomDTO(r));
+               if (copy != null) {
+                       this.objectName = copy.getObjectName();
+                       this.records = copy.getRecords();
+                       this.result = new 
ArrayList<RoomDTO>(copy.getResult().size());
+                       for (Room r : copy.getResult()) {
+                               result.add(new RoomDTO(r));
+                       }
+                       this.errorId = copy.getErrorId();
                }
-               this.errorId = copy.getErrorId();
        }
 
        public String getObjectName() {

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomStatus.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomStatus.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomStatus.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomStatus.java
 Fri Nov  6 06:18:44 2015
@@ -28,6 +28,8 @@ public class RoomStatus {
        BrowserStatus browserStatus;
        Boolean roomFull = false;
        
+       public RoomStatus() {}
+       
        public List<Client> getClientList() {
                return clientList;
        }

Added: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomUser.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomUser.java?rev=1712911&view=auto
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomUser.java
 (added)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomUser.java
 Fri Nov  6 06:18:44 2015
@@ -0,0 +1,69 @@
+/*
+ * 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.db.dto.room;
+
+public class RoomUser {
+       
+       private String firstname;
+       private String lastname;
+       private String publicSID;
+       private long broadcastId;
+       private Boolean isBroadCasting;
+       private String avsettings;
+       
+       public RoomUser() {}
+       
+       public String getFirstname() {
+               return firstname;
+       }
+       public void setFirstname(String firstname) {
+               this.firstname = firstname;
+       }
+       public String getLastname() {
+               return lastname;
+       }
+       public void setLastname(String lastname) {
+               this.lastname = lastname;
+       }
+       public Boolean getIsBroadCasting() {
+               return isBroadCasting;
+       }
+       public void setIsBroadCasting(Boolean isBroadCasting) {
+               this.isBroadCasting = isBroadCasting;
+       }
+       public String getAvsettings() {
+               return avsettings;
+       }
+       public void setAvsettings(String avsettings) {
+               this.avsettings = avsettings;
+       }
+       public String getPublicSID() {
+               return publicSID;
+       }
+       public void setPublicSID(String publicSID) {
+               this.publicSID = publicSID;
+       }
+       public long getBroadcastId() {
+               return broadcastId;
+       }
+       public void setBroadcastId(long broadcastId) {
+               this.broadcastId = broadcastId;
+       }
+       
+}

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 Fri Nov  6 06:18:44 2015
@@ -34,6 +34,8 @@ public class WhiteboardObject {
        private Map<String, List> roomItems = new HashMap<String, List>();
        private Date created = new Date();
 
+       public WhiteboardObject() {}
+       
        public Long getWhiteBoardId() {
                return whiteBoardId;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObjectList.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObjectList.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObjectList.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObjectList.java
 Fri Nov  6 06:18:44 2015
@@ -26,6 +26,8 @@ public class WhiteboardObjectList {
        private Long room_id;
        private Map<Long,WhiteboardObject> whiteboardObjects = new 
HashMap<Long,WhiteboardObject>();
        
+       public WhiteboardObjectList() {}
+       
        public Long getRoom_id() {
                return room_id;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardSyncLockObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardSyncLockObject.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardSyncLockObject.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardSyncLockObject.java
 Fri Nov  6 06:18:44 2015
@@ -29,6 +29,8 @@ public class WhiteboardSyncLockObject {
        private Date addtime;
        private Date starttime;
 
+       public WhiteboardSyncLockObject() {}
+       
        public String getPublicSID() {
                return publicSID;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/server/ServerDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/server/ServerDTO.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/server/ServerDTO.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/server/ServerDTO.java
 Fri Nov  6 06:18:44 2015
@@ -18,6 +18,14 @@
  */
 package org.apache.openmeetings.db.dto.server;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
 import org.apache.openmeetings.db.entity.server.Server;
 
 /**
@@ -28,25 +36,54 @@ import org.apache.openmeetings.db.entity
  * @author sebawagner
  *
  */
-public class ServerDTO {
-
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class ServerDTO implements Serializable {
+       private static final long serialVersionUID = 1L;
        private Long id;
+       private String name;
        private String address;
        private int port;
-       private String protocol;
+       private String user;
+       private String password;
        private String webapp;
+       private String protocol;
+       private boolean active;
+       private String comment;
 
-       public ServerDTO(Server server) {
-               if (server == null) {
+       public ServerDTO() {}
+       
+       public ServerDTO(Server s) {
+               if (s == null) {
                        return;
                }
-               id = server.getId();
-               address = server.getAddress();
-               port = server.getPort();
-               protocol = server.getProtocol();
-               webapp = server.getWebapp();
+               id = s.getId();
+               name = s.getName();
+               address = s.getAddress();
+               port = s.getPort();
+               user = s.getUser();
+               password = s.getPass();
+               webapp = s.getWebapp();
+               protocol = s.getProtocol();
+               active = s.isActive();
+               comment = s.getComment();
+       }
+
+       public Server get() {
+               Server s = new Server();
+               s.setId(id);
+               s.setName(name);
+               s.setAddress(address);
+               s.setPort(port);
+               s.setUser(user);
+               s.setPass(password);
+               s.setWebapp(webapp);
+               s.setProtocol(protocol);
+               s.setActive(active);
+               s.setComment(comment);
+               return s;
        }
-
+       
        public Long getId() {
                return id;
        }
@@ -86,10 +123,59 @@ public class ServerDTO {
        public void setWebapp(String webapp) {
                this.webapp = webapp;
        }
+
+       public String getName() {
+               return name;
+       }
+
+       public void setName(String name) {
+               this.name = name;
+       }
+
+       public String getUser() {
+               return user;
+       }
+
+       public void setUser(String user) {
+               this.user = user;
+       }
+
+       public String getPassword() {
+               return password;
+       }
+
+       public void setPassword(String password) {
+               this.password = password;
+       }
+
+       public boolean isActive() {
+               return active;
+       }
+
+       public void setActive(boolean active) {
+               this.active = active;
+       }
+
+       public String getComment() {
+               return comment;
+       }
+
+       public void setComment(String comment) {
+               this.comment = comment;
+       }
        
        @Override
        public String toString() {
                return "id "+id+" address "+address+" port "+port+" protocol 
"+protocol;
        }
 
+       public static List<ServerDTO> list(List<Server> l) {
+               List<ServerDTO> list = new ArrayList<>();
+               if (l != null) {
+                       for (Server s : l) {
+                               list.add(new ServerDTO(s));
+                       }
+               }
+               return list;
+       }
 }

Added: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/ExternalUserDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/ExternalUserDTO.java?rev=1712911&view=auto
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/ExternalUserDTO.java
 (added)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/ExternalUserDTO.java
 Fri Nov  6 06:18:44 2015
@@ -0,0 +1,83 @@
+/*
+ * 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.db.dto.user;
+
+import java.io.Serializable;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class ExternalUserDTO implements Serializable {
+       private static final long serialVersionUID = 1L;
+       private String login;
+       private String firstname;
+       private String lastname;
+       private String profilePictureUrl;
+       private String email;
+       private String externalId;
+       private String externalType;
+       
+       public ExternalUserDTO() {}
+       
+       public String getLogin() {
+               return login;
+       }
+       public void setLogin(String login) {
+               this.login = login;
+       }
+       public String getFirstname() {
+               return firstname;
+       }
+       public void setFirstname(String firstname) {
+               this.firstname = firstname;
+       }
+       public String getLastname() {
+               return lastname;
+       }
+       public void setLastname(String lastname) {
+               this.lastname = lastname;
+       }
+       public String getProfilePictureUrl() {
+               return profilePictureUrl;
+       }
+       public void setProfilePictureUrl(String profilePictureUrl) {
+               this.profilePictureUrl = profilePictureUrl;
+       }
+       public String getEmail() {
+               return email;
+       }
+       public void setEmail(String email) {
+               this.email = email;
+       }
+       public String getExternalId() {
+               return externalId;
+       }
+       public void setExternalId(String externalId) {
+               this.externalId = externalId;
+       }
+       public String getExternalType() {
+               return externalType;
+       }
+       public void setExternalType(String externalType) {
+               this.externalType = externalType;
+       }
+}

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java
 Fri Nov  6 06:18:44 2015
@@ -18,40 +18,61 @@
  */
 package org.apache.openmeetings.db.dto.user;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.io.Serializable;
+import java.util.Set;
 
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.Address;
 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;
 
-public class UserDTO {
+@XmlRootElement
+public class UserDTO implements Serializable {
+       private static final long serialVersionUID = 1L;
        private Long id;
+       private String login;
+       private String password;
        private String firstname;
        private String lastname;
-       private List<String> rights;
-       private String login;
-       private Long language_id;
-       private Address adresses;
+       private Set<Right> rights;
+       private Long languageId;
+       private Address address;
        private String timeZoneId;
+       private String externalId;
+       private String externalType;
        private Type type = Type.user;
 
        public UserDTO() {}
 
        public UserDTO(User u) {
-               id = u.getUser_id();
+               id = u.getId();
                firstname = u.getFirstname();
                lastname = u.getLastname();
-               rights = new ArrayList<>();
-               for (Right r : u.getRights()) {
-                       rights.add(r.name());
-               }
+               rights = u.getRights();
                login = u.getLogin();
-               language_id = u.getLanguage_id();
-               adresses = u.getAdresses();
+               languageId = u.getLanguageId();
+               address = u.getAddress();
                timeZoneId = u.getTimeZoneId();
                type = u.getType();
+               externalId = u.getExternalId();
+               externalType = u.getExternalType();
+       }
+       
+       public User get(UserDao userDao) {
+               User u = id == null ? new User() : userDao.get(id);
+               u.setFirstname(firstname);
+               u.setLastname(lastname);
+               u.setRights(rights);
+               u.setLanguageId(languageId);
+               u.setAddress(address);
+               u.setTimeZoneId(timeZoneId);
+               u.setExternalId(externalId);
+               u.setExternalType(externalType);
+               u.setType(type);
+               return u;
        }
        
        public Long getId() {
@@ -78,11 +99,11 @@ public class UserDTO {
                this.lastname = lastname;
        }
 
-       public List<String> getRights() {
+       public Set<Right> getRights() {
                return rights;
        }
 
-       public void setRights(List<String> rights) {
+       public void setRights(Set<Right> rights) {
                this.rights = rights;
        }
 
@@ -94,20 +115,20 @@ public class UserDTO {
                this.login = login;
        }
 
-       public Long getLanguage_id() {
-               return language_id;
+       public Long getLanguageId() {
+               return languageId;
        }
 
-       public void setLanguage_id(Long language_id) {
-               this.language_id = language_id;
+       public void setLanguageId(Long languageId) {
+               this.languageId = languageId;
        }
 
-       public Address getAdresses() {
-               return adresses;
+       public Address getAddress() {
+               return address;
        }
 
-       public void setAdresses(Address adresses) {
-               this.adresses = adresses;
+       public void setAddress(Address address) {
+               this.address = address;
        }
 
        public String getTimeZoneId() {
@@ -125,4 +146,28 @@ public class UserDTO {
        public void setType(Type type) {
                this.type = type;
        }
+
+       public String getPassword() {
+               return password;
+       }
+
+       public void setPassword(String password) {
+               this.password = password;
+       }
+
+       public String getExternalId() {
+               return externalId;
+       }
+
+       public void setExternalId(String externalId) {
+               this.externalId = externalId;
+       }
+
+       public String getExternalType() {
+               return externalType;
+       }
+
+       public void setExternalType(String externalType) {
+               this.externalType = externalType;
+       }
 }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/IDataProviderEntity.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/IDataProviderEntity.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/IDataProviderEntity.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/IDataProviderEntity.java
 Fri Nov  6 06:18:44 2015
@@ -18,6 +18,10 @@
  */
 package org.apache.openmeetings.db.entity;
 
-public interface IDataProviderEntity {
+import java.io.Serializable;
 
+public interface IDataProviderEntity extends Serializable {
+       Long getId();
+       
+       void setId(Long id);
 }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ChatMessage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ChatMessage.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ChatMessage.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ChatMessage.java
 Fri Nov  6 06:18:44 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.db.entity.basic;
 
-import java.io.Serializable;
 import java.util.Date;
 
 import javax.persistence.Column;
@@ -43,18 +42,25 @@ import org.simpleframework.xml.Root;
 @Entity
 @NamedQueries({
        @NamedQuery(name = "getChatMessageById", query = "SELECT c FROM 
ChatMessage c WHERE c.id = :id")
-       , @NamedQuery(name = "getChatMessagesByUser", query = "SELECT DISTINCT 
c FROM ChatMessage c WHERE c.fromUser.user_id = :userId OR c.toUser.user_id = 
:userId ORDER BY c.sent DESC")
-       , @NamedQuery(name = "getGlobalChatMessages", query = "SELECT DISTINCT 
c FROM ChatMessage c WHERE c.toUser IS NULL ORDER BY c.sent DESC")
-})@Table(name = "chat")
+       , @NamedQuery(name = "getChatMessages", query = "SELECT c FROM 
ChatMessage c ORDER BY c.id")
+       , @NamedQuery(name = "getGlobalChatMessages", query = "SELECT c FROM 
ChatMessage c WHERE c.toUser IS NULL AND c.toRoom IS NULL ORDER BY c.sent DESC")
+       , @NamedQuery(name = "getChatMessagesByRoom", query = "SELECT c FROM 
ChatMessage c WHERE c.toUser.id IS NULL AND c.toRoom.id = :roomId"
+                       + " AND (true = :all OR (false = :all AND 
c.needModeration = false)) ORDER BY c.sent DESC")
+       , @NamedQuery(name = "getChatMessagesByUser", query = "SELECT c FROM 
ChatMessage c WHERE c.toUser IS NOT NULL AND c.toRoom IS NULL AND "
+                       + "(c.fromUser.id = :userId OR c.toUser.id = :userId) 
ORDER BY c.sent DESC")
+       , @NamedQuery(name = "getChatMessagesByUserTime", query = "SELECT c 
FROM ChatMessage c WHERE c.toUser IS NOT NULL AND c.toRoom IS NULL AND "
+                       + "(c.fromUser.id = :userId OR c.toUser.id = :userId) 
AND c.sent > :date ORDER BY c.sent DESC")
+})
+@Table(name = "chat")
 @Root(name = "ChatMessage")
-public class ChatMessage implements Serializable, IDataProviderEntity {
-       private static final long serialVersionUID = 4248081997318897605L;
+public class ChatMessage implements IDataProviderEntity {
+       private static final long serialVersionUID = 1L;
 
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "id")
        @Element(name = "id", data = true)
-       private long id;
+       private Long id;
 
        @ManyToOne
        @JoinColumn(name = "from_user_id")
@@ -83,11 +89,15 @@ public class ChatMessage implements Seri
        @Element(name = "sent", data = true, required = false)
        private Date sent;
 
-       public long getId() {
+       @Column(name = "need_moderation", nullable = false)
+       @Element(name = "needModeration", data = true, required = false)
+       private boolean needModeration;
+       
+       public Long getId() {
                return id;
        }
 
-       public void setId(long id) {
+       public void setId(Long id) {
                this.id = id;
        }
 
@@ -130,4 +140,12 @@ public class ChatMessage implements Seri
        public void setSent(Date sent) {
                this.sent = sent;
        }
+
+       public boolean isNeedModeration() {
+               return needModeration;
+       }
+
+       public void setNeedModeration(boolean needModeration) {
+               this.needModeration = needModeration;
+       }
 }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Configuration.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Configuration.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Configuration.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Configuration.java
 Fri Nov  6 06:18:44 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.db.entity.basic;
 
-import java.io.Serializable;
 import java.util.Date;
 
 import javax.persistence.Column;
@@ -55,8 +54,8 @@ import org.simpleframework.xml.Root;
 })
 @Table(name = "configuration")
 @Root(name = "config")
-public class Configuration implements Serializable, IDataProviderEntity {
-       private static final long serialVersionUID = -6129473946508963339L;
+public class Configuration implements IDataProviderEntity {
+       private static final long serialVersionUID = 1L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "id")
@@ -118,11 +117,11 @@ public class Configuration implements Se
                this.conf_value = conf_value;
        }
 
-       public Long getConfiguration_id() {
+       public Long getId() {
                return configuration_id;
        }
 
-       public void setConfiguration_id(Long configuration_id) {
+       public void setId(Long configuration_id) {
                this.configuration_id = configuration_id;
        }
 

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ErrorValue.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ErrorValue.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ErrorValue.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ErrorValue.java
 Fri Nov  6 06:18:44 2015
@@ -18,68 +18,77 @@
  */
 package org.apache.openmeetings.db.entity.basic;
 
-import java.io.Serializable;
 import java.util.Date;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
 import javax.persistence.Id;
 import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.Table;
 
+import org.apache.openmeetings.db.entity.IDataProviderEntity;
+
 @Entity
 @NamedQueries({
-       @NamedQuery(name = "getErrorValueById", query = "SELECT e FROM 
ErrorValue e WHERE e.errorvalues_id = :id AND e.deleted = false")
+       @NamedQuery(name = "getErrorValueById", query = "SELECT e FROM 
ErrorValue e WHERE e.id = :id AND e.deleted = false")
 })
 @Table(name = "errorvalue")
-public class ErrorValue implements Serializable {
-       private static final long serialVersionUID = -1892810463706968018L;
-
+public class ErrorValue implements IDataProviderEntity {
+       private static final long serialVersionUID = 1L;
+       
+       public enum Type {
+               error
+               , info
+       }
+       
        @Id
        @Column(name = "id")
-       private Long errorvalues_id;
-       
-       @Column(name = "errortype_id")
-       private Long errortype_id;
+       private Long id;
+
+       @Column(name = "type")
+       @Enumerated(EnumType.STRING)
+       private Type type;
        
-       @Column(name = "fieldvalues_id")
-       private Long fieldvalues_id;
+       @Column(name = "label_id")
+       private Long labelId;
        
-       @Column(name = "starttime")
-       private Date starttime;
+       @Column(name = "inserted")
+       private Date inserted;
        
-       @Column(name = "updatetime")
-       private Date updatetime;
+       @Column(name = "updated")
+       private Date updated;
        
        @Column(name = "deleted")
        private boolean deleted;
 
-       public Long getErrorvalues_id() {
-               return errorvalues_id;
+       public Long getId() {
+               return id;
        }
 
-       public void setErrorvalues_id(Long errorvalues_id) {
-               this.errorvalues_id = errorvalues_id;
+       public void setId(Long id) {
+               this.id = id;
        }
 
-       public Date getStarttime() {
-               return starttime;
+       public Date getInserted() {
+               return inserted;
        }
 
-       public void setStarttime(Date starttime) {
-               this.starttime = starttime;
+       public void setInserted(Date inserted) {
+               this.inserted = inserted;
        }
 
-       public Date getUpdatetime() {
-               return updatetime;
+       public Date getUpdated() {
+               return updated;
        }
 
-       public void setUpdatetime(Date updatetime) {
-               this.updatetime = updatetime;
+       public void setUpdated(Date updated) {
+               this.updated = updated;
        }
 
-       public boolean getDeleted() {
+       public boolean isDeleted() {
                return deleted;
        }
 
@@ -87,20 +96,19 @@ public class ErrorValue implements Seria
                this.deleted = deleted;
        }
        
-       public Long getFieldvalues_id() {
-               return fieldvalues_id;
+       public Long getLabelId() {
+               return labelId;
        }
 
-       public void setFieldvalues_id(Long fieldvalues_id) {
-               this.fieldvalues_id = fieldvalues_id;
+       public void setLabelId(Long labelId) {
+               this.labelId = labelId;
        }
 
-       public Long getErrortype_id() {
-               //return errorType.getErrortype_id();
-               return errortype_id;
+       public Type getType() {
+               return type;
        }
 
-       public void setErrortype_id(Long errortype_id) {
-               this.errortype_id = errortype_id;
+       public void setType(Type type) {
+               this.type = type;
        }
 }

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java
 Fri Nov  6 06:18:44 2015
@@ -43,6 +43,8 @@ import org.apache.openmeetings.db.entity
 })
 @Table(name = "email_queue")
 public class MailMessage implements IDataProviderEntity {
+       private static final long serialVersionUID = 1L;
+
        public enum Status {
                NONE
                , SENDING

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
 Fri Nov  6 06:18:44 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.db.entity.calendar;
 
-import java.io.Serializable;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -27,6 +26,8 @@ import java.util.TimeZone;
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
 import javax.persistence.FetchType;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
@@ -40,13 +41,14 @@ import javax.persistence.OneToMany;
 import javax.persistence.Table;
 
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
+import org.apache.openmeetings.db.entity.IDataProviderEntity;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.user.User;
 import org.simpleframework.xml.Element;
 import org.simpleframework.xml.Root;
 
 @Entity
-@Table(name = "appointments")
+@Table(name = "appointment")
 @NamedQueries({
     @NamedQuery(name="getAppointmentById", query="SELECT a FROM Appointment a 
WHERE a.deleted = false AND a.id = :id")
     , @NamedQuery(name="getAppointmentByIdAny", query="SELECT a FROM 
Appointment a WHERE a.id = :id")
@@ -55,9 +57,9 @@ import org.simpleframework.xml.Root;
        query="SELECT a FROM Appointment a "
                        + "WHERE a.deleted = false "
                        + "     AND ( "
-                       + "             (a.start BETWEEN :starttime AND 
:endtime) "
-                       + "             OR (a.end BETWEEN :starttime AND 
:endtime) "
-                       + "             OR (a.start < :starttime AND a.end > 
:endtime) "
+                       + "             (a.start BETWEEN :start AND :end) "
+                       + "             OR (a.end BETWEEN :start AND :end) "
+                       + "             OR (a.start < :start AND a.end > :end) "
                        + "     )"
                        + "     AND a.owner.user_id = :userId"
        )
@@ -67,49 +69,93 @@ import org.simpleframework.xml.Root;
                        + "     AND a.id NOT IN (SELECT a.id FROM Appointment a 
WHERE a.owner.user_id = :userId)"
                        + "     AND mm.connectedEvent = false " //TODO review: 
isConnectedEvent is set for the MeetingMember if event is created from "Private 
Messages", it is weird
                        + "     AND ( "
-                       + "             (a.start BETWEEN :starttime AND 
:endtime) "
-                       + "             OR (a.end BETWEEN :starttime AND 
:endtime) "
-                       + "             OR (a.start < :starttime AND a.end > 
:endtime) "
+                       + "             (a.start BETWEEN :start AND :end) "
+                       + "             OR (a.end BETWEEN :start AND :end) "
+                       + "             OR (a.start < :start AND a.end > :end) "
                        + "     )"
        )
     , @NamedQuery(name="appointmentsInRangeRemind",
                query="SELECT a FROM Appointment a "
                        //only ReminderType simple mail is concerned!
                        + "WHERE a.deleted = false AND a.reminderEmailSend = 
false"
-                       + " AND (a.remind.typId = 2 OR a.remind.typId = 3) "
+                       + " AND (a.reminder <> :none) "
                        + "     AND ( "
-                       + "             (a.start BETWEEN :starttime AND 
:endtime) "
-                       + "             OR (a.end BETWEEN :starttime AND 
:endtime) "
-                       + "             OR (a.start < :starttime AND a.end > 
:endtime) "
+                       + "             (a.start BETWEEN :start AND :end) "
+                       + "             OR (a.end BETWEEN :start AND :end) "
+                       + "             OR (a.start < :start AND a.end > :end) "
                        + "     )"
        )
     , @NamedQuery(name="getAppointmentByRoomId", query="SELECT a FROM 
Appointment a WHERE a.deleted = false AND a.room.rooms_id = :room_id")
+    , @NamedQuery(name="getAppointmentByOwnerRoomId", query="SELECT a FROM 
Appointment a WHERE a.deleted = false AND a.owner.id = :userId AND a.room.id = 
:roomId")
        //TODO this query returns duplicates if the user books an appointment 
with
        //his own user as second meeting-member, swagner 19.02.2012
     , @NamedQuery(name="appointmentsInRangeByUser",
                query="SELECT a FROM MeetingMember mm, IN(mm.appointment) a "
                        + "WHERE mm.deleted = false AND mm.user.user_id <> 
a.owner.user_id AND mm.user.user_id = :userId "
                        + "     AND ( "
-                       + "             (a.start BETWEEN :starttime AND 
:endtime) "
-                       + "             OR (a.end BETWEEN :starttime AND 
:endtime) "
-                       + "             OR (a.start < :starttime AND a.end > 
:endtime) "
+                       + "             (a.start BETWEEN :start AND :end) "
+                       + "             OR (a.end BETWEEN :start AND :end) "
+                       + "             OR (a.start < :start AND a.end > :end) "
                        + "     )"
            )
     , @NamedQuery(name="appointedRoomsInRangeByUser",
                query="SELECT a.room FROM MeetingMember mm, IN(mm.appointment) 
a "
                        + "WHERE mm.deleted = false AND mm.user.user_id <> 
a.owner.user_id AND mm.user.user_id = :userId "
                        + "     AND ( "
-                       + "             (a.start BETWEEN :starttime AND 
:endtime) "
-                       + "             OR (a.end BETWEEN :starttime AND 
:endtime) "
-                       + "             OR (a.start < :starttime AND a.end > 
:endtime) "
+                       + "             (a.start BETWEEN :start AND :end) "
+                       + "             OR (a.end BETWEEN :start AND :end) "
+                       + "             OR (a.start < :start AND a.end > :end) "
                        + "     )"
            )
     , @NamedQuery(name="getNextAppointment", query="SELECT a FROM Appointment 
a WHERE a.deleted = false AND a.start > :start AND a.owner.user_id = :userId")
     , @NamedQuery(name="getAppointmentsByTitle", query="SELECT a FROM 
Appointment a WHERE a.deleted = false AND a.title LIKE :title AND 
a.owner.user_id = :userId")
 })
 @Root(name="appointment")
-public class Appointment implements Serializable {
-       private static final long serialVersionUID = 2016808778885761525L;
+public class Appointment implements IDataProviderEntity {
+       private static final long serialVersionUID = 1L;
+       public static final int REMINDER_NONE_ID = 1;
+       public static final int REMINDER_EMAIL_ID = 2;
+       public static final int REMINDER_ICAL_ID = 3;
+       public enum Reminder {
+               none(REMINDER_NONE_ID)
+               , email(REMINDER_EMAIL_ID)
+               , ical(REMINDER_ICAL_ID);
+               
+               private int id;
+               
+               Reminder() {} //default;
+               Reminder(int id) {
+                       this.id = id;
+               }
+               
+               public int getId() {
+                       return id;
+               }
+               
+               public static Reminder get(Long type) {
+                       return get(type == null ? 1 : type.intValue());
+               }
+               
+               public static Reminder get(Integer type) {
+                       return get(type == null ? 1 : type.intValue());
+               }
+               
+               public static Reminder get(int type) {
+                       Reminder r = Reminder.none;
+                       switch (type) {
+                               case REMINDER_EMAIL_ID:
+                                       r = Reminder.email;
+                                       break;
+                               case REMINDER_ICAL_ID:
+                                       r = Reminder.ical;
+                                       break;
+                               default:
+                                       //no-op
+                       }
+                       return r;
+               }
+       }
+       
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "id")
@@ -124,11 +170,11 @@ public class Appointment implements Seri
        @Element(name="appointmentLocation", data=true, required=false)
        private String location;
        
-       @Column(name = "appointment_starttime")
+       @Column(name = "start")
        @Element(name="appointmentStarttime", data=true)
        private Date start;
        
-       @Column(name = "appointment_endtime")
+       @Column(name = "end")
        @Element(name="appointmentEndtime", data=true)
        private Date end;
        
@@ -138,22 +184,16 @@ public class Appointment implements Seri
        private String description;
        
        @ManyToOne(fetch = FetchType.EAGER)
-       @JoinColumn(name = "category_id", nullable = true)
-       @ForeignKey(enabled = true)
-       @Element(name="categoryId", data=true, required=false)
-       private AppointmentCategory category;
-       
-       @ManyToOne(fetch = FetchType.EAGER)
        @JoinColumn(name = "user_id", nullable = true)
        @ForeignKey(enabled = true)
        @Element(name="users_id", data=true, required=false)
        private User owner;
 
-       @Column(name = "starttime")
+       @Column(name = "inserted")
        @Element(name="inserted", data=true, required=false)
        private Date inserted;
        
-       @Column(name = "updatetime")
+       @Column(name = "updated")
        @Element(name="updated", data=true, required=false)
        private Date updated;
        
@@ -161,11 +201,10 @@ public class Appointment implements Seri
        @Element(data=true)
        private boolean deleted;
        
-       @ManyToOne(fetch = FetchType.EAGER)
-       @JoinColumn(name = "remind_id", nullable = true)
-       @ForeignKey(enabled = true)
+       @Column(name = "reminder")
+       @Enumerated(EnumType.STRING)
        @Element(name="typId", data=true, required=false)
-       private AppointmentReminderTyps remind;
+       private Reminder reminder = Reminder.none;
 
        @Column(name = "isdaily")
        @Element(data=true, required = false)
@@ -283,20 +322,12 @@ public class Appointment implements Seri
                this.description = description;
        }
 
-       public AppointmentCategory getCategory() {
-               return category;
-       }
-
-       public void setCategory(AppointmentCategory category) {
-               this.category = category;
-       }
-
-       public AppointmentReminderTyps getRemind() {
-               return remind;
+       public Reminder getReminder() {
+               return reminder;
        }
 
-       public void setRemind(AppointmentReminderTyps remind) {
-               this.remind = remind;
+       public void setReminder(Reminder reminder) {
+               this.reminder = reminder;
        }
 
        public Date getInserted() {

Modified: 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java?rev=1712911&r1=1712910&r2=1712911&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
 Fri Nov  6 06:18:44 2015
@@ -18,9 +18,6 @@
  */
 package org.apache.openmeetings.db.entity.file;
 
-import java.io.Serializable;
-import java.util.Date;
-
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
@@ -35,267 +32,82 @@ import org.simpleframework.xml.Root;
 
 @Entity
 @NamedQueries({
-       @NamedQuery(name="getAllFiles", query="SELECT c FROM FileExplorerItem c 
ORDER BY c.fileExplorerItemId")
-    , @NamedQuery(name="getById", query="SELECT c FROM FileExplorerItem c 
WHERE c.fileExplorerItemId = :fileExplorerItemId")
-    , @NamedQuery(name="getByHash", query="SELECT c FROM FileExplorerItem c 
WHERE c.fileHash = :fileHash")
+       @NamedQuery(name = "getAllFiles", query = "SELECT c FROM 
FileExplorerItem c ORDER BY c.id")
+       , @NamedQuery(name = "getFileById", query = "SELECT c FROM 
FileExplorerItem c WHERE c.id = :id")
+       , @NamedQuery(name = "getFileByHash", query = "SELECT c FROM 
FileExplorerItem c WHERE c.fileHash = :fileHash")
+       , @NamedQuery(name = "getFilesByRoomAndOwner", query = "SELECT c FROM 
FileExplorerItem c WHERE c.deleted = false "
+                       + " AND c.roomId = :roomId AND c.ownerId = :ownerId 
ORDER BY c.type ASC, c.fileName ")
+       , @NamedQuery(name = "getFilesByRoom", query = "SELECT c FROM 
FileExplorerItem c WHERE c.deleted = false AND c.roomId = :roomId " +
+                       "AND c.ownerId IS NULL AND c.parentItemId IS NULL ORDER 
BY c.type ASC, c.fileName ")
+       , @NamedQuery(name = "getFilesByOwner", query = "SELECT c FROM 
FileExplorerItem c WHERE c.deleted = false AND c.ownerId = :ownerId "
+                       + "AND c.parentItemId IS NULL ORDER BY c.type ASC, 
c.fileName ")
+       , @NamedQuery(name = "getFilesByParent", query = "SELECT c FROM 
FileExplorerItem c WHERE c.deleted = false "
+                       + "AND c.parentItemId = :parentItemId ORDER BY c.type 
ASC, c.fileName ")
+       , @NamedQuery(name = "getFileExternal", query = "SELECT c FROM 
FileExplorerItem c WHERE c.externalFileId = :externalFileId "
+                       + "AND c.externalType LIKE :externalType")
 })
 @Table(name = "fileexploreritem")
 @Root
-public class FileExplorerItem implements Serializable {
-       private static final long serialVersionUID = 242843782142620566L;
+public class FileExplorerItem extends FileItem {
+       private static final long serialVersionUID = 1L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
-       @Column(name="id")
-       @Element(data=true)
-       private long fileExplorerItemId;
-       
-       @Column(name="filename")
-       @Element(data=true, required = false)
-       private String fileName;
-       
-       @Column(name="filehash")
-       @Element(data=true, required = false)
-       private String fileHash;
-       
-       @Column(name="parent_fileexploreritem_id")
-       @Element(data=true)
-       private Long parentFileExplorerItemId;
-       
-       @Column(name="room_id")
-       @Element(data=true, required=false)
-       private Long room_id;
-       
-       @Column(name="owner_id")
-       @Element(data=true, required=false)
-       private Long ownerId;//OwnerID => only set if its directly root in 
Owner Directory, other Folders and Files
-       //maybe are also in a Home directory but just because their parent is
-       
-       @Column(name="is_folder")
-       @Element(data=true)
-       private Boolean isFolder;
-       
-       @Column(name="is_image")
-       @Element(data=true)
-       private Boolean isImage;
-       
-       @Column(name="is_presentation")
-       @Element(data=true)
-       private Boolean isPresentation;
-       
-       @Column(name="is_video")
-       @Element(data=true, required=false)
-       private Boolean isVideo;
-       
-       @Column(name="inserted_by")
-       @Element(data=true)
-       private Long insertedBy;
-       
-       @Column(name="inserted")
-       @Element(data=true)
-       private Date inserted;
-       
-       @Column(name="updated")
-       @Element(data=true)
-       private Date updated;
-       
-       @Column(name="deleted")
-       @Element(data=true)
-       private boolean deleted;
-       
-       @Column(name="filesize")
-       @Element(data=true, required=false)
+       @Column(name = "id")
+       @Element(data = true, name = "fileExplorerItemId")
+       private Long id;
+
+       @Column(name = "filesize")
+       @Element(data = true, required = false)
        private Long fileSize;
-       
-       @Column(name="flv_width")
-       @Element(data=true, required=false)
-       private Integer flvWidth;
-       
-       @Column(name="flv_height")
-       @Element(data=true, required=false)
-       private Integer flvHeight;
-       
-       @Column(name="preview_image")
-       @Element(data=true, required = false)
-       private String previewImage;
-       
-       @Column(name="wml_file_path")
-       @Element(data=true, required = false)
+
+       @Column(name = "wml_file_path")
+       @Element(data = true, required = false)
        private String wmlFilePath;
-       
-       @Column(name="is_stored_wml_file")
-       @Element(data=true, required = false)
-       private Boolean isStoredWmlFile;
-       
-       @Column(name="is_chart")
-       @Element(data=true, required = false)
-    private Boolean isChart;
-    
-       @Column(name="external_file_id")
-    private Long externalFileId;
-       
-       @Column(name="external_type")
-    private String externalType;
-
-               
-       public long getFileExplorerItemId() {
-               return fileExplorerItemId;
-       }
-       public void setFileExplorerItemId(long fileExplorerItemId) {
-               this.fileExplorerItemId = fileExplorerItemId;
-       }
-       
-       public String getFileName() {
-               return fileName;
-       }
-       public void setFileName(String fileName) {
-               this.fileName = fileName;
-       }
-       
-       public String getFileHash() {
-               return fileHash;
-       }
-       public void setFileHash(String fileHash) {
-               this.fileHash = fileHash;
-       }
-       
-       public Long getParentFileExplorerItemId() {
-               return parentFileExplorerItemId;
-       }
-       public void setParentFileExplorerItemId(Long parentFileExplorerItemId) {
-               this.parentFileExplorerItemId = parentFileExplorerItemId;
-       }
-       
-       public Long getOwnerId() {
-               return ownerId;
-       }
-       public void setOwnerId(Long ownerId) {
-               this.ownerId = ownerId;
-       }
-       
-       public Long getRoom_id() {
-               return room_id;
-       }
-       public void setRoom_id(Long room_id) {
-               this.room_id = room_id;
-       }
-       
-       public Boolean getIsFolder() {
-               return isFolder;
-       }
-       public void setIsFolder(Boolean isFolder) {
-               this.isFolder = isFolder;
-       }
-       
-       public Boolean getIsImage() {
-               return isImage;
-       }
-       public void setIsImage(Boolean isImage) {
-               this.isImage = isImage;
-       }
-       
-       public Boolean getIsVideo() {
-               return isVideo;
-       }
-       public void setIsVideo(Boolean isVideo) {
-               this.isVideo = isVideo;
-       }
-       
-       public Boolean getIsPresentation() {
-               return isPresentation;
-       }
-       public void setIsPresentation(Boolean isPresentation) {
-               this.isPresentation = isPresentation;
-       }
-       
-       public Long getInsertedBy() {
-               return insertedBy;
-       }
-       public void setInsertedBy(Long insertedBy) {
-               this.insertedBy = insertedBy;
-       }
-       
-       public Date getInserted() {
-               return inserted;
-       }
-       public void setInserted(Date inserted) {
-               this.inserted = inserted;
-       }
 
-       public boolean getDeleted() {
-               return deleted;
-       }
-       public void setDeleted(boolean deleted) {
-               this.deleted = deleted;
-       }
-       
-       public Date getUpdated() {
-               return updated;
+       @Column(name = "external_file_id")
+       private Long externalId;
+
+       @Column(name = "external_type")
+       private String externalType;
+
+       public Long getId() {
+               return id;
        }
-       public void setUpdated(Date updated) {
-               this.updated = updated;
+
+       public void setId(Long id) {
+               this.id = id;
        }
-       
+
        public Long getFileSize() {
                return fileSize;
        }
+
        public void setFileSize(Long fileSize) {
                this.fileSize = fileSize;
        }
-       
-       public Integer getFlvWidth() {
-               return flvWidth;
-       }
-       public void setFlvWidth(Integer flvWidth) {
-               this.flvWidth = flvWidth;
-       }
 
-       public Integer getFlvHeight() {
-               return flvHeight;
-       }
-       public void setFlvHeight(Integer flvHeight) {
-               this.flvHeight = flvHeight;
-       }
-
-       public String getPreviewImage() {
-               return previewImage;
-       }       
-       public void setPreviewImage(String previewImage) {
-               this.previewImage = previewImage;
-       }
-       
        public String getWmlFilePath() {
                return wmlFilePath;
        }
+
        public void setWmlFilePath(String wmlFilePath) {
                this.wmlFilePath = wmlFilePath;
        }
-       
-       public Boolean getIsStoredWmlFile() {
-               return isStoredWmlFile;
-       }
-       public void setIsStoredWmlFile(Boolean isStoredWmlFile) {
-               this.isStoredWmlFile = isStoredWmlFile;
-       }
 
-       public Boolean getIsChart() {
-        return isChart;
-    }
-    public void setIsChart(Boolean isChart) {
-        this.isChart = isChart;
-    }
-    
-       public Long getExternalFileId() {
-               return externalFileId;
+       public Long getExternalId() {
+               return externalId;
        }
-       public void setExternalFileId(Long externalFileId) {
-               this.externalFileId = externalFileId;
+
+       public void setExternalId(Long externalId) {
+               this.externalId = externalId;
        }
-       
+
        public String getExternalType() {
                return externalType;
        }
+
        public void setExternalType(String externalType) {
                this.externalType = externalType;
        }
-       
+
 }



Reply via email to