You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2015/11/06 07:18:49 UTC

svn commit: r1712911 [5/16] - in /openmeetings/branches/3.1.x: openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/ openmeetings-core/src/main/java/org/apa...

Modified: openmeetings/branches/3.1.x/openmeetings-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;
 	}
-	
+
 }