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 2017/08/17 05:39:58 UTC

[12/12] openmeetings git commit: [OPENMEETINGS-1682] restricted type renamed, code clean-up

[OPENMEETINGS-1682] restricted type renamed, code clean-up


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/d2a8e400
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/d2a8e400
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/d2a8e400

Branch: refs/heads/master
Commit: d2a8e400355b89cb2476793d6329512a3b44eb22
Parents: e2b0ddd
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Thu Aug 17 12:39:35 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Thu Aug 17 12:39:35 2017 +0700

----------------------------------------------------------------------
 .../documents/LibraryDocumentConverter.java     |  71 ----
 .../core/ldap/LdapLoginManagement.java          |  14 +-
 .../openmeetings/core/remote/MainService.java   |   2 +-
 .../openmeetings/core/remote/MobileService.java |  19 +-
 .../org/apache/openmeetings/IApplication.java   |   3 +-
 .../openmeetings/db/dao/basic/ErrorDao.java     |  86 ----
 .../openmeetings/db/dao/label/LabelDao.java     |  16 -
 .../db/dao/room/IInvitationManager.java         |  14 +-
 .../openmeetings/db/dao/user/IUserManager.java  |  10 +-
 .../openmeetings/db/dao/user/UserDao.java       |   4 +-
 .../openmeetings/db/dto/basic/SearchResult.java |  22 +-
 .../db/dto/basic/ServiceResult.java             |  24 +-
 .../db/dto/room/RoomSearchResult.java           |  12 +-
 .../db/dto/user/UserSearchResult.java           |  13 +-
 .../db/entity/basic/ErrorValue.java             | 116 ------
 .../openmeetings/db/entity/room/Room.java       |   9 +-
 .../openmeetings/db/entity/user/Userdata.java   | 126 ------
 .../installation/ImportInitvalues.java          |  61 +--
 openmeetings-server/pom.xml                     |   3 +-
 .../src/site/stylesheets/errortable.xsl         |   6 +-
 .../src/site/stylesheets/errorvalues.xml        |  86 ++++
 .../src/site/stylesheets/errorvalues.xsd        |  41 ++
 .../src/site/xdoc/ManualTesting.xml             |  15 +-
 .../service/calendar/AppointmentLogic.java      |   2 +-
 .../openmeetings/service/mail/EmailManager.java |  11 +-
 .../service/room/InvitationManager.java         |  68 ----
 .../openmeetings/service/user/UserManager.java  | 130 +-----
 .../apache/openmeetings/util/OmException.java   |  22 +-
 .../apache/openmeetings/util/OmFileHelper.java  |   1 -
 .../openmeetings/web/admin/AdminSavePanel.java  |   2 +-
 .../web/admin/backup/BackupPanel.java           |   2 +-
 .../web/admin/configurations/ConfigForm.java    |   6 +-
 .../web/admin/labels/AddLanguageDialog.java     |   4 +-
 .../openmeetings/web/admin/ldaps/LdapForm.java  |   4 +-
 .../openmeetings/web/admin/oauth/OAuthForm.java |  26 +-
 .../openmeetings/web/admin/rooms/RoomForm.java  |   6 +-
 .../openmeetings/web/admin/users/UserForm.java  |   9 +-
 .../web/admin/users/UsersPanel.java             |   2 +-
 .../openmeetings/web/app/Application.java       |  25 +-
 .../web/app/Application.properties.xml          | 121 +++---
 .../web/app/Application_ar.properties.xml       | 121 +++---
 .../web/app/Application_bg.properties.xml       | 121 +++---
 .../web/app/Application_ca.properties.xml       | 121 +++---
 .../web/app/Application_cs.properties.xml       | 121 +++---
 .../web/app/Application_da.properties.xml       | 121 +++---
 .../web/app/Application_de.properties.xml       |  87 ++---
 .../web/app/Application_el.properties.xml       | 121 +++---
 .../web/app/Application_es.properties.xml       | 121 +++---
 .../web/app/Application_fa.properties.xml       | 121 +++---
 .../web/app/Application_fi.properties.xml       | 121 +++---
 .../web/app/Application_fr.properties.xml       | 179 ++++-----
 .../web/app/Application_gl.properties.xml       | 121 +++---
 .../web/app/Application_hu.properties.xml       | 121 +++---
 .../web/app/Application_id.properties.xml       | 120 +++---
 .../web/app/Application_it.properties.xml       | 125 +++---
 .../web/app/Application_ja.properties.xml       | 121 +++---
 .../web/app/Application_ko.properties.xml       | 121 +++---
 .../web/app/Application_nl.properties.xml       | 121 +++---
 .../web/app/Application_pl.properties.xml       | 121 +++---
 .../web/app/Application_pt.properties.xml       | 121 +++---
 .../web/app/Application_pt_BR.properties.xml    | 121 +++---
 .../web/app/Application_ru.properties.xml       | 121 +++---
 .../web/app/Application_sk.properties.xml       | 121 +++---
 .../web/app/Application_sv.properties.xml       | 121 +++---
 .../web/app/Application_th.properties.xml       | 121 +++---
 .../web/app/Application_tr.properties.xml       | 121 +++---
 .../web/app/Application_uk.properties.xml       | 107 ++---
 .../web/app/Application_zh_CN.properties.xml    | 121 +++---
 .../web/app/Application_zh_TW.properties.xml    | 121 +++---
 .../web/app/LabelResourceLoader.java            |  14 +-
 .../apache/openmeetings/web/app/WebSession.java |   2 +-
 .../web/common/GeneralUserForm.java             |   4 +-
 .../web/common/InvitationDialog.java            |  12 +-
 .../openmeetings/web/common/InvitationForm.java |   6 +-
 .../openmeetings/web/common/NameDialog.java     |   2 +-
 .../openmeetings/web/common/UserPanel.java      |   4 +-
 .../web/common/tree/ConvertingErrorsDialog.java |   4 +-
 .../web/common/tree/OmTreeProvider.java         |   8 +-
 .../apache/openmeetings/web/pages/HashPage.java |   4 +-
 .../web/pages/InvitationPasswordDialog.java     |   8 +-
 .../web/pages/auth/ForgetPasswordDialog.java    |  14 +-
 .../web/pages/auth/RegisterDialog.java          |  20 +-
 .../web/pages/auth/ResetPasswordDialog.java     |   4 +-
 .../web/pages/auth/SignInDialog.java            |  15 +-
 .../web/room/ExpiredMessageDialog.java          |   2 +-
 .../openmeetings/web/room/NicknameDialog.java   |  12 +-
 .../web/room/RedirectMessageDialog.java         |   2 +-
 .../apache/openmeetings/web/room/RoomPanel.java |   4 +-
 .../web/room/menu/RoomInvitationForm.java       |   2 +-
 .../web/room/menu/RoomMenuPanel.java            |  26 +-
 .../web/room/menu/SipDialerDialog.java          |   4 +-
 .../web/room/menu/StartSharingButton.java       |  22 +-
 .../web/room/poll/CreatePollDialog.java         |  10 +-
 .../web/room/poll/PollResultsDialog.java        |  20 +-
 .../openmeetings/web/room/poll/VoteDialog.java  |   8 +-
 .../web/room/sidebar/RoomSidebar.java           |   2 +-
 .../web/room/sidebar/UploadDialog.java          |   6 +-
 .../openmeetings/web/user/AboutDialog.java      |   2 +-
 .../web/user/InviteUserMessageDialog.java       |   6 +-
 .../web/user/InviteUserToRoomDialog.java        |  22 +-
 .../openmeetings/web/user/MessageDialog.java    |  14 +-
 .../openmeetings/web/user/UserInfoDialog.java   |  18 +-
 .../web/user/calendar/AppointmentDialog.java    |  18 +-
 .../web/user/calendar/CalendarDialog.java       |  14 +-
 .../web/user/calendar/CalendarPanel.java        |  24 +-
 .../apache/openmeetings/web/user/chat/Chat.java |   6 +-
 .../web/user/dashboard/MyRoomsWidget.java       |   6 +-
 .../user/dashboard/MyRoomsWidgetDescriptor.java |   4 +-
 .../web/user/dashboard/RssWidget.java           |   6 +-
 .../web/user/dashboard/RssWidgetDescriptor.java |   4 +-
 .../web/user/dashboard/WelcomeWidget.java       |   6 +-
 .../user/dashboard/WelcomeWidgetDescriptor.java |   4 +-
 .../web/user/profile/ChangePasswordDialog.java  |   2 +-
 .../web/user/profile/MessagesContactsPanel.java |  26 +-
 .../web/user/profile/SettingsPanel.java         |  10 +-
 .../web/user/profile/UserProfilePanel.java      |   2 +-
 .../web/user/record/RecordingsPanel.java        |   2 +-
 .../openmeetings/web/user/rooms/RoomsPanel.java |   2 +-
 .../web/user/rooms/RoomsSelectorPanel.java      |  16 +-
 .../web/user/rooms/RoomsTabbedPanel.java        |   4 +-
 .../openmeetings/web/util/ContactsHelper.java   |  16 +-
 .../classes/META-INF/db2_persistence.xml        |   2 -
 .../classes/META-INF/derby_persistence.xml      |   2 -
 .../classes/META-INF/mssql_persistence.xml      |   2 -
 .../classes/META-INF/mysql_persistence.xml      |   2 -
 .../classes/META-INF/oracle_persistence.xml     |   2 -
 .../classes/META-INF/postgresql_persistence.xml |   2 -
 .../WEB-INF/classes/applicationContext.xml      |   1 -
 .../src/main/webapp/languages/errorvalues.xml   | 391 -------------------
 .../src/main/webapp/languages/errorvalues.xsd   |  41 --
 .../test/selenium/AbstractTestDefaults.java     |   4 +-
 .../openmeetings/test/selenium/TestSignUp.java  |  21 +-
 .../openmeetings/test/smoke/TestSmokeBasic.java |   6 +-
 .../openmeetings/test/user/TestUserGroup.java   |   2 +-
 .../test/webservice/TestCalendarService.java    |   2 +-
 .../test/webservice/TestGroupService.java       |   4 +-
 .../test/webservice/TestRoomService.java        |   4 +-
 .../webservice/CalendarWebService.java          |  19 +-
 .../webservice/ErrorWebService.java             |  27 +-
 .../openmeetings/webservice/FileWebService.java |  16 +-
 .../webservice/GroupWebService.java             |  16 +-
 .../webservice/RecordingWebService.java         |   2 +-
 .../openmeetings/webservice/RoomWebService.java |  37 +-
 .../openmeetings/webservice/UserWebService.java |  33 +-
 .../webservice/error/ServiceException.java      |   3 +
 145 files changed, 2025 insertions(+), 3827 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
deleted file mode 100644
index e4af1e2..0000000
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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.core.documents;
-
-import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_WML;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-
-import org.apache.openmeetings.util.OmFileHelper;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.xml.XppDriver;
-
-public class LibraryDocumentConverter {
-	private static final Logger log = Red5LoggerFactory.getLogger(LibraryDocumentConverter.class, webAppRootKey);
-	
-	public static String writeToLocalFolder(String fileName, @SuppressWarnings("rawtypes")ArrayList objList) {
-		try {
-			log.debug("filePath: " + OmFileHelper.getUploadWmlDir().getCanonicalPath());
-			
-			File file = new File(OmFileHelper.getUploadWmlDir(), OmFileHelper.getName(fileName, EXTENSION_WML));
-			
-			if (file.exists()){
-				return "-20";
-			}		
-			
-			XStream xStream = new XStream(new XppDriver());
-			xStream.setMode(XStream.NO_REFERENCES);
-			String xmlString = xStream.toXML(objList);	
-			
-			log.debug("Write to " + file);
-			
-			try (OutputStream os = new FileOutputStream(file);
-					Writer out = new OutputStreamWriter(os, UTF_8))
-			{
-				out.write(xmlString);
-				out.flush();
-			}
-			return file.getCanonicalPath();
-		} catch (Exception err){
-			log.error("writeToLocalFolder",err);
-		}
-		
-		return null;
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java
index c9c0671..5b93556 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java
@@ -20,6 +20,8 @@ package org.apache.openmeetings.core.ldap;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.apache.openmeetings.db.util.LocaleHelper.validateCountry;
+import static org.apache.openmeetings.util.OmException.BAD_CREDENTIALS;
+import static org.apache.openmeetings.util.OmException.UNKNOWN;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
@@ -199,7 +201,7 @@ public class LdapLoginManagement {
 								Entry e = cursor.get();
 								if (userDn != null) {
 									log.error("more than 1 user found in LDAP");
-									throw new OmException(-1L);
+									throw UNKNOWN;
 								}
 								userDn = e.getDn();
 								if (w.options.useAdminForAttrs) {
@@ -212,7 +214,7 @@ public class LdapLoginManagement {
 					}
 					if (userDn == null) {
 						log.error("NONE users found in LDAP");
-						throw new OmException(-10L);
+						throw BAD_CREDENTIALS;
 					}
 					w.conn.bind(userDn, passwd);
 				}
@@ -232,7 +234,7 @@ public class LdapLoginManagement {
 			log.debug("getByLogin:: authenticated ? {}, login = '{}', domain = {}, user = {}", authenticated, login, domainId, u);
 			if (u == null && Provisionning.AUTOCREATE != w.options.prov) {
 				log.error("User not found in OM DB and Provisionning.AUTOCREATE was not set");
-				throw new OmException(-10L);
+				throw BAD_CREDENTIALS;
 			}
 			if (authenticated && entry == null) {
 				if (w.options.useAdminForAttrs) {
@@ -255,7 +257,7 @@ public class LdapLoginManagement {
 			}
 		} catch (LdapAuthenticationException ae) {
 			log.error("Not authenticated.", ae);
-			throw new OmException(-10L);
+			throw BAD_CREDENTIALS;
 		} catch (OmException e) {
 			throw e;
 		} catch (Exception e) {
@@ -296,7 +298,7 @@ public class LdapLoginManagement {
 			}
 		} catch (LdapAuthenticationException ae) {
 			log.error("Not authenticated.", ae);
-			throw new OmException(-10L);
+			throw BAD_CREDENTIALS;
 		} catch (OmException e) {
 			throw e;
 		} catch (Exception e) {
@@ -334,7 +336,7 @@ public class LdapLoginManagement {
 		public User getUser(Entry entry, User u) throws LdapException, CursorException, OmException, IOException {
 			if (entry == null) {
 				log.error("LDAP entry is null, search or lookup by Dn failed");
-				throw new OmException(-10L);
+				throw BAD_CREDENTIALS;
 			}
 			if (u == null) {
 				u = userDao.getNewUserInstance(null);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
index 74db960..194ccd7 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
@@ -69,7 +69,7 @@ public class MainService implements IPendingServiceCallback {
 						allowed = true;
 					} else {
 						SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm"); //FIXME format
-						deniedMessage = Application.getString(1271) + String.format(" %s - %s", sdf.format(a.getStart()), sdf.format(a.getEnd()));
+						deniedMessage = Application.getString("error.hash.period") + String.format(" %s - %s", sdf.format(a.getStart()), sdf.format(a.getEnd()));
 					}
 					*/
 				}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
index 6aea081..6ea3bee 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
@@ -19,6 +19,7 @@
 package org.apache.openmeetings.core.remote;
 
 import static org.apache.openmeetings.db.util.LocaleHelper.getCountryName;
+import static org.apache.openmeetings.util.OmException.UNKNOWN;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FRONTEND_REGISTER_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_OAUTH_REGISTER_KEY;
@@ -166,7 +167,7 @@ public class MobileService {
 				String baseURL = cfgDao.getBaseUrl();
 				boolean sendConfirmation = !Strings.isEmpty(baseURL)
 						&& 1 == cfgDao.getConfValue("sendEmailWithVerficationCode", Integer.class, "0");
-				Long userId = userManager.registerUserInit(UserDao.getDefaultRights(), login, password, lastname
+				Object user = userManager.registerUserInit(UserDao.getDefaultRights(), login, password, lastname
 						, firstname, email, null /* age/birthday */, "" /* street */
 						, "" /* additionalname */, "" /* fax */, "" /* zip */, country
 						, "" /* town */, langId, true /* sendWelcomeMessage */
@@ -174,17 +175,17 @@ public class MobileService {
 						"" /* phone */, false, sendConfirmation, TimeZone.getTimeZone(tzId),
 						false /* forceTimeZoneCheck */, "" /* userOffers */, "" /* userSearchs */, false /* showContactData */,
 						true /* showContactDataToContacts */, hash);
-				if (userId == null) {
+				if (user == null) {
 					//do nothing
-				} else if (userId > 0) {
-					User u = userDao.get(userId);
+				} else if (user instanceof User) {
+					User u = (User)user;
 					if (sendConfirmation) {
 						add(result, "status", -666L);
 					} else {
 						result = login(u, result);
 					}
 				} else {
-					add(result, "status", userId);
+					add(result, "status", user);
 				}
 			}
 		} catch (Exception e) {
@@ -199,7 +200,7 @@ public class MobileService {
 			User u = userDao.login(login, password);
 			result = login(u, result);
 		} catch (OmException e) {
-			result.put("status", e.getCode());
+			result.put("status", e.getKey());
 		} catch (Exception e) {
 			log.error("[loginUser]", e);
 		}
@@ -208,7 +209,7 @@ public class MobileService {
 
 	private static Map<String, Object> getResult() {
 		Map<String, Object> result = new HashMap<>();
-		result.put("status", -1);
+		result.put("status", UNKNOWN.getKey());
 		return result;
 	}
 
@@ -310,8 +311,8 @@ public class MobileService {
 		User u = userDao.get(c.getUserId());
 		//my rooms
 		List<Room> myl = new ArrayList<>();
-		myl.add(roomDao.getUserRoom(u.getId(), Room.Type.conference, LabelDao.getString(1306L, u.getLanguageId())));
-		myl.add(roomDao.getUserRoom(u.getId(), Room.Type.restricted, LabelDao.getString(1307L, u.getLanguageId())));
+		myl.add(roomDao.getUserRoom(u.getId(), Room.Type.conference, LabelDao.getString("my.room.conference", u.getLanguageId())));
+		myl.add(roomDao.getUserRoom(u.getId(), Room.Type.presentation, LabelDao.getString("my.room.presentation", u.getLanguageId())));
 		myl.addAll(roomDao.getAppointedRoomsByUser(u.getId()));
 		for (Room r : myl) {
 			addRoom("my", null, false, result, r);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java b/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
index 3c5b6bc..77f2d6f 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
@@ -42,8 +42,7 @@ public interface IApplication {
 	ServletContext getServletContext();
 	IRequestMapper getRootRequestMapper();
 	Supplier<IExceptionMapper> getExceptionMapperProvider();
-	String getOmString(long id);
-	String getOmString(long id, long languageId);
+	String getOmString(String key);
 	String getOmString(String key, long languageId);
 	String getOmString(String key, final Locale loc, String... params);
 	Client getOmClient(String uid);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ErrorDao.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ErrorDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ErrorDao.java
deleted file mode 100644
index c526055..0000000
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ErrorDao.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * 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.dao.basic;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-
-import java.util.Date;
-
-import javax.persistence.EntityManager;
-import javax.persistence.NoResultException;
-import javax.persistence.PersistenceContext;
-import javax.persistence.TypedQuery;
-
-import org.apache.openmeetings.db.dao.label.LabelDao;
-import org.apache.openmeetings.db.entity.basic.ErrorValue;
-import org.apache.openmeetings.db.entity.basic.ErrorValue.Type;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-import org.springframework.transaction.annotation.Transactional;
-
-@Transactional
-public class ErrorDao {
-	private static final Logger log = Red5LoggerFactory.getLogger(ErrorDao.class, webAppRootKey);
-
-	@PersistenceContext
-	private EntityManager em;
-
-	public Long add(Long id, Type type, Long labelId) {
-		try {
-			ErrorValue eValue = new ErrorValue();
-			eValue.setId(id);
-			eValue.setType(type);
-			eValue.setDeleted(false);
-			eValue.setInserted(new Date());
-			eValue.setLabelId(labelId);
-			eValue = em.merge(eValue);
-			return eValue.getId();
-		} catch (Exception ex2) {
-			log.error("[addErrorValues]: ", ex2);
-		}
-		return null;
-	}
-
-	public ErrorValue get(Long id) {
-		try {
-			TypedQuery<ErrorValue> query = em.createNamedQuery("getErrorValueById", ErrorValue.class);
-			query.setParameter("id", id);
-			ErrorValue e = null;
-			try {
-				e = query.getSingleResult();
-			} catch (NoResultException ex) {
-			}
-			return e;
-		} catch (Exception ex2) {
-			log.error("[get]", ex2);
-		}
-		return null;
-	}
-
-	public String getMessage(Long id, long langId) {
-		if (id == null) {
-			return null;
-		}
-		ErrorValue ev = get(-1 * id.longValue());
-		if (ev == null) {
-			return null;
-		}
-		return LabelDao.getString(ev.getLabelId(), langId);
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
index 5bb02e4..e02a11b 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
@@ -28,7 +28,6 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.InvalidPropertiesFormatException;
 import java.util.Iterator;
@@ -72,17 +71,6 @@ public class LabelDao implements IDataProviderDao<StringLabel>{
 	public static final Set<String> keys = new HashSet<>();
 	private static Class<?> APP = null;
 
-	public List<Map<String, Object>> getStrings(Long language_id, int start, int count) {
-		List<Map<String, Object>> result = new ArrayList<>();
-		for (int i = 0; i < count; ++i) {
-			Map<String, Object> map = new HashMap<>();
-			map.put("id", start + i);
-			map.put("value", getString(start + i, language_id));
-			result.add(map);
-		}
-		return result;
-	}
-
 	private static void storeLanguages() throws Exception {
 		Document d = XmlExport.createDocument();
 		Element r = XmlExport.createRoot(d, "language");
@@ -102,10 +90,6 @@ public class LabelDao implements IDataProviderDao<StringLabel>{
 		labelCache.put(l, new ArrayList<StringLabel>());
 	}
 
-	public static String getString(long fieldValuesId, long langId) {
-		return _ensureApplication(langId).getOmString(fieldValuesId, langId);
-	}
-
 	public static String getString(String key, long langId) {
 		return _ensureApplication(langId).getOmString(key, langId);
 	}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java
index 4197444..8ceaee4 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java
@@ -30,24 +30,20 @@ import org.apache.openmeetings.db.entity.user.User;
 
 public interface IInvitationManager {
 	void processInvitation(Appointment a, MeetingMember member, MessageType type);
-	
+
 	void processInvitation(Appointment a, MeetingMember mm, MessageType type, boolean sendMail);
-	
+
 	Invitation getInvitation(Invitation _invitation, User inveetee, Room room
 			, boolean isPasswordProtected, String invitationpass, Valid valid,
 			User createdBy, Long languageId, Date gmtTimeStart, Date gmtTimeEnd
 			, Appointment appointment);
-	
+
 	Invitation getInvitation(User inveetee, Room room
 			, boolean isPasswordProtected, String invitationpass, Valid valid,
 			User createdBy, Long languageId, Date gmtTimeStart, Date gmtTimeEnd
 			, Appointment appointment);
-	
+
 	void sendInvitationLink(Invitation i, MessageType type, String subject, String message, boolean ical) throws Exception ;
-	
-	Object checkInvitationPass(String hashCode, String pass);
-	
-	Object getInvitationByHashCode(String hashCode, boolean hidePass);
-	
+
 	boolean sendInvitationReminderSMS(String phone, String subject, long languageId);
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
index 2a80802..f71c885 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
@@ -29,31 +29,29 @@ import java.util.TimeZone;
 
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Right;
-import org.apache.openmeetings.db.entity.user.Userdata;
+import org.apache.openmeetings.util.OmException;
 
 //FIXME HACK to bypass cross project compilation
 public interface IUserManager {
 
-	Long registerUser(String login, String Userpass, String lastname,
+	Object registerUser(String login, String Userpass, String lastname,
 			String firstname, String email, Date age, String street,
 			String additionalname, String fax, String zip, String country,
 			String town, long languageId, String phone, boolean sendSMS,
 			boolean generateSipUserData, String jNameTimeZone, Boolean sendConfirmation);
 
-	Long registerUserInit(Set<Right> rights, String login, String password, String lastname,
+	Object registerUserInit(Set<Right> rights, String login, String password, String lastname,
 			String firstname, String email, Date age, String street,
 			String additionalname, String fax, String zip, String country,
 			String town, long languageId, boolean sendWelcomeMessage,
 			List<Long> groups, String phone, boolean sendSMS, Boolean sendConfirmation,
 			TimeZone timezone, Boolean forceTimeZoneCheck,
 			String userOffers, String userSearchs, Boolean showContactData,
-			Boolean showContactDataToContacts, String activatedHash) throws Exception;
+			Boolean showContactDataToContacts, String activatedHash) throws OmException, NoSuchAlgorithmException;
 
 	Long getLanguage(Locale loc);
 	User loginOAuth(Map<String, String> params, long serverId) throws IOException, NoSuchAlgorithmException;
 
 	boolean kickById(String uid);
 	boolean kickUsersByRoomId(Long room_id);
-
-	List<Userdata> getUserdataDashBoard(Long userId);
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
index 2b6d2c3..4fe9eda 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
@@ -654,12 +654,12 @@ public class UserDao implements IGroupAdminDataProviderDao<User> {
 		// Check if activated
 		if (!AuthLevelUtil.hasLoginLevel(u.getRights())) {
 			log.debug("Not activated: {}", u);
-			throw new OmException(-41L);
+			throw new OmException("error.notactivated");
 		}
 		log.debug("loginUser " + u.getGroupUsers());
 		if (u.getGroupUsers().isEmpty()) {
 			log.debug("No Group assigned: {}", u);
-			throw new OmException("No Group assigned to user");
+			throw new OmException("error.nogroup");
 		}
 
 		u.setLastlogin(new Date());

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/SearchResult.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/SearchResult.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/SearchResult.java
index b9de1c3..ccc5767 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/SearchResult.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/SearchResult.java
@@ -20,37 +20,43 @@ package org.apache.openmeetings.db.dto.basic;
 
 import java.util.Collection;
 
-
 public class SearchResult<T> {
 	private String objectName;
 	private Long records;
 	private Collection<T> result;
-	private Long errorId;
-	
+	private String errorKey;
+
 	public SearchResult() {}
-	
+
 	public String getObjectName() {
 		return objectName;
 	}
+
 	public void setObjectName(String objectName) {
 		this.objectName = objectName;
 	}
+
 	public Long getRecords() {
 		return records;
 	}
+
 	public void setRecords(Long records) {
 		this.records = records;
 	}
+
 	public Collection<T> getResult() {
 		return result;
 	}
+
 	public void setResult(Collection<T> result) {
 		this.result = result;
 	}
-	public Long getErrorId() {
-		return errorId;
+
+	public String getErrorKey() {
+		return errorKey;
 	}
-	public void setErrorId(Long errorId) {
-		this.errorId = errorId;
+
+	public void setErrorKey(String errorKey) {
+		this.errorKey = errorKey;
 	}
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
index 4393b05..eb617d1 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
@@ -25,12 +25,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.apache.openmeetings.util.OmException;
+
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.FIELD)
 public class ServiceResult implements Serializable {
 	private static final long serialVersionUID = 1L;
-	public static ServiceResult NO_PERMISSION = new ServiceResult(-26L, "Insufficient permissions", Type.ERROR);
-	private long code;
+	public static ServiceResult UNKNOWN = new ServiceResult(OmException.UNKNOWN.getKey(), Type.ERROR);
+	public static ServiceResult NO_PERMISSION = new ServiceResult("error.notallowed", Type.ERROR);
 	private String message;
 	private String type;
 	@XmlType(namespace="org.apache.openmeetings.db.dto.basic.type")
@@ -41,26 +43,14 @@ public class ServiceResult implements Serializable {
 
 	public ServiceResult() {}
 
-	public ServiceResult(long code, String message, String type) {
+	public ServiceResult(String message, String type) {
 		super();
-		this.code = code;
 		this.message = message;
 		this.type = type;
 	}
 
-	public ServiceResult(long code, String message, Type type) {
-		super();
-		this.code = code;
-		this.message = message;
-		this.type = type.name();
-	}
-
-	public long getCode() {
-		return code;
-	}
-
-	public void setCode(long code) {
-		this.code = code;
+	public ServiceResult(String message, Type type) {
+		this(message, type.name());
 	}
 
 	public String getMessage() {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomSearchResult.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomSearchResult.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomSearchResult.java
index d1a424b..9f40175 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomSearchResult.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomSearchResult.java
@@ -28,7 +28,7 @@ public class RoomSearchResult {
 	private String objectName;
 	private Long records;
 	private List<RoomDTO> result;
-	private Long errorId;
+	private String errorKey;
 
 	public RoomSearchResult() {}
 
@@ -40,7 +40,7 @@ public class RoomSearchResult {
 			for (Room r : copy.getResult()) {
 				result.add(new RoomDTO(r));
 			}
-			this.errorId = copy.getErrorId();
+			this.errorKey = copy.getErrorKey();
 		}
 	}
 
@@ -68,11 +68,11 @@ public class RoomSearchResult {
 		this.result = result;
 	}
 
-	public Long getErrorId() {
-		return errorId;
+	public String getErrorKey() {
+		return errorKey;
 	}
 
-	public void setErrorId(Long errorId) {
-		this.errorId = errorId;
+	public void setErrorKey(String errorKey) {
+		this.errorKey = errorKey;
 	}
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserSearchResult.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserSearchResult.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserSearchResult.java
index 5dd46ec..262af14 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserSearchResult.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserSearchResult.java
@@ -31,7 +31,7 @@ public class UserSearchResult {
 	private String objectName;
 	private Long records;
 	private List<UserDTO> result;
-	private Long errorId;
+	private String errorKey;
 
 	public UserSearchResult() {}
 
@@ -42,7 +42,7 @@ public class UserSearchResult {
 		for (User u : copy.getResult()) {
 			result.add(new UserDTO(u));
 		}
-		this.errorId = copy.getErrorId();
+		this.errorKey = copy.getErrorKey();
 	}
 
 	public String getObjectName() {
@@ -69,12 +69,11 @@ public class UserSearchResult {
 		this.result = result;
 	}
 
-	public Long getErrorId() {
-		return errorId;
+	public String getErrorKey() {
+		return errorKey;
 	}
 
-	public void setErrorId(Long errorId) {
-		this.errorId = errorId;
+	public void setErrorKey(String errorKey) {
+		this.errorKey = errorKey;
 	}
-
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ErrorValue.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ErrorValue.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ErrorValue.java
deleted file mode 100644
index 32709ea..0000000
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/ErrorValue.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * 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.entity.basic;
-
-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.id = :id AND e.deleted = false")
-})
-@Table(name = "errorvalue")
-public class ErrorValue implements IDataProviderEntity {
-	private static final long serialVersionUID = 1L;
-	
-	public enum Type {
-		error
-		, info
-	}
-	
-	@Id
-	@Column(name = "id")
-	private Long id;
-
-	@Column(name = "type")
-	@Enumerated(EnumType.STRING)
-	private Type type;
-	
-	@Column(name = "label_id")
-	private Long labelId;
-	
-	@Column(name = "inserted")
-	private Date inserted;
-	
-	@Column(name = "updated")
-	private Date updated;
-	
-	@Column(name = "deleted", nullable = false)
-	private boolean deleted;
-
-	@Override
-	public Long getId() {
-		return id;
-	}
-
-	@Override
-	public void setId(Long id) {
-		this.id = id;
-	}
-
-	public Date getInserted() {
-		return inserted;
-	}
-
-	public void setInserted(Date inserted) {
-		this.inserted = inserted;
-	}
-
-	public Date getUpdated() {
-		return updated;
-	}
-
-	public void setUpdated(Date updated) {
-		this.updated = updated;
-	}
-
-	public boolean isDeleted() {
-		return deleted;
-	}
-
-	public void setDeleted(boolean deleted) {
-		this.deleted = deleted;
-	}
-	
-	public Long getLabelId() {
-		return labelId;
-	}
-
-	public void setLabelId(Long labelId) {
-		this.labelId = labelId;
-	}
-
-	public Type getType() {
-		return type;
-	}
-
-	public void setType(Type type) {
-		this.type = type;
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
index 16546ef..9b7a731 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
@@ -89,7 +89,7 @@ import org.simpleframework.xml.Root;
 public class Room implements IDataProviderEntity {
 	private static final long serialVersionUID = 1L;
 	public static final int CONFERENCE_TYPE_ID = 1;
-	public static final int RESTRICTED_TYPE_ID = 3;
+	public static final int PRESENTATION_TYPE_ID = 3;
 	public static final int INTERVIEW_TYPE_ID = 4;
 
 	public enum Right {
@@ -119,8 +119,7 @@ public class Room implements IDataProviderEntity {
 
 	public enum Type {
 		conference(CONFERENCE_TYPE_ID)
-		//, audience(2)
-		, restricted(RESTRICTED_TYPE_ID)
+		, presentation(PRESENTATION_TYPE_ID)
 		, interview(INTERVIEW_TYPE_ID);
 		//, custom(5)
 		private int id;
@@ -145,8 +144,8 @@ public class Room implements IDataProviderEntity {
 		public static Type get(int type) {
 			Type rt = Type.conference;
 			switch (type) {
-				case RESTRICTED_TYPE_ID:
-					rt = Type.restricted;
+				case PRESENTATION_TYPE_ID:
+					rt = Type.presentation;
 					break;
 				case INTERVIEW_TYPE_ID:
 					rt = Type.interview;

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Userdata.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Userdata.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Userdata.java
deleted file mode 100644
index 9fb2b13..0000000
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Userdata.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * 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.entity.user;
-
-import java.io.Serializable;
-import java.util.Date;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Lob;
-import javax.persistence.Table;
-
-@Entity
-@Table(name = "user_data")
-public class Userdata implements Serializable {
-	private static final long serialVersionUID = 1L;
-	@Id
-	@GeneratedValue(strategy = GenerationType.IDENTITY)
-	@Column(name = "id")
-	private Long id;
-
-	@Column(name = "user_id")
-	private Long userId;
-
-	@Column(name = "data_key")
-	private String key;
-
-	@Column(name = "data")
-	private String data;
-
-	@Column(name = "inserted")
-	private Date inserted;
-
-	@Column(name = "updated")
-	private Date updated;
-
-	@Lob
-	@Column(name = "comment")
-	private String comment;
-
-	@Column(name = "deleted", nullable = false)
-	private boolean deleted;
-
-	public String getComment() {
-		return comment;
-	}
-
-	public void setComment(String comment) {
-		this.comment = comment;
-	}
-
-	public String getData() {
-		return data;
-	}
-
-	public void setData(String data) {
-		this.data = data;
-	}
-
-	public String getKey() {
-		return key;
-	}
-
-	public void setKey(String key) {
-		this.key = key;
-	}
-
-	public Long getId() {
-		return id;
-	}
-
-	public void setId(Long id) {
-		this.id = id;
-	}
-
-	public Date getInserted() {
-		return inserted;
-	}
-
-	public void setInserted(Date inserted) {
-		this.inserted = inserted;
-	}
-
-	public Date getUpdated() {
-		return updated;
-	}
-
-	public void setUpdated(Date updated) {
-		this.updated = updated;
-	}
-
-	public boolean isDeleted() {
-		return deleted;
-	}
-
-	public void setDeleted(boolean deleted) {
-		this.deleted = deleted;
-	}
-
-	public Long getUserId() {
-		return userId;
-	}
-
-	public void setUserId(Long userId) {
-		this.userId = userId;
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
----------------------------------------------------------------------
diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
index c5ac7d9..92b5859 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
@@ -74,12 +74,9 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINI
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
-import java.io.File;
 import java.util.Date;
-import java.util.Iterator;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.dao.basic.ErrorDao;
 import org.apache.openmeetings.db.dao.basic.NavigationDao;
 import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
@@ -87,7 +84,6 @@ import org.apache.openmeetings.db.dao.room.SipDao;
 import org.apache.openmeetings.db.dao.server.OAuth2Dao;
 import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.basic.ErrorValue;
 import org.apache.openmeetings.db.entity.basic.Naviglobal;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.Room.RoomElement;
@@ -99,11 +95,7 @@ import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Right;
-import org.apache.openmeetings.util.OmFileHelper;
 import org.apache.wicket.util.string.StringValue;
-import org.dom4j.Document;
-import org.dom4j.Element;
-import org.dom4j.io.SAXReader;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -118,8 +110,6 @@ public class ImportInitvalues {
 	@Autowired
 	private NavigationDao navimanagement;
 	@Autowired
-	private ErrorDao errorDao;
-	@Autowired
 	private SipDao sipDao;
 	@Autowired
 	private OAuth2Dao oauthDao;
@@ -173,41 +163,6 @@ public class ImportInitvalues {
 		log.debug("MainMenu ADDED");
 	}
 
-	public void loadErrorMappingsFromXML() throws Exception {
-		SAXReader reader = new SAXReader();
-		Document document = reader.read(new File(OmFileHelper.getLanguagesDir(), OmFileHelper.nameOfErrorFile));
-
-		Element root = document.getRootElement();
-
-		for (Iterator<Element> it = root.elementIterator("row"); it.hasNext();) {
-			Element row = it.next();
-
-			Long errorvalueId = null;
-			Long labelId = null;
-			ErrorValue.Type type = null;
-
-			for (Iterator<Element> itSub = row.elementIterator("field"); itSub.hasNext();) {
-				Element field = itSub.next();
-
-				String name = field.attributeValue("name");
-				String text = field.getText();
-				// System.out.println("NAME | TEXT "+name+" | "+text);
-				if (name.equals("errorvalues_id")) {
-					errorvalueId = Long.valueOf(text);
-				}
-				if (name.equals("fieldvalues_id")) {
-					labelId = Long.valueOf(text);
-				}
-				if (name.equals("type")) {
-					type = ErrorValue.Type.valueOf(text);
-				}
-			}
-
-			errorDao.add(errorvalueId, type, labelId);
-		}
-		log.debug("ErrorMappings ADDED");
-	}
-
 	public void loadConfiguration(InstallationConfig cfg) {
 		cfgDao.add(CONFIG_CRYPT_KEY, cfg.cryptClassName, null,
 				"This Class is used for Authentification-Crypting. "
@@ -422,8 +377,8 @@ public class ImportInitvalues {
 			r.hide(RoomElement.Whiteboard);
 			roomDao.update(r, null);
 			createRoom(LabelDao.getString("install.room.public.video.wb", langId), Type.conference, 32L, true, null);
-			createRoom(LabelDao.getString("install.room.public.restricted", langId), Type.restricted, 100L, true, null);
-			r = createRoom(LabelDao.getString("install.room.restricted.micro", langId), Type.restricted, 100L, true, null);
+			createRoom(LabelDao.getString("install.room.public.presentation", langId), Type.presentation, 100L, true, null);
+			r = createRoom(LabelDao.getString("install.room.presentation.micro", langId), Type.presentation, 100L, true, null);
 			r.getHiddenElements().clear();
 			roomDao.update(r, null);
 
@@ -528,15 +483,13 @@ public class ImportInitvalues {
 			log.debug("System contains users, no need to install data one more time.");
 		}
 		sipDao.delete();
-		progress = 14;
+		progress = 16;
 		loadMainMenu();
-		progress = 28;
-		loadErrorMappingsFromXML();
-		progress = 42;
+		progress = 32;
 		loadConfiguration(cfg);
-		progress = 56;
+		progress = 48;
 		loadInitialOAuthServers();
-		progress = 70;
+		progress = 64;
 	}
 
 	public void loadAll(InstallationConfig cfg, boolean force) throws Exception {
@@ -547,7 +500,7 @@ public class ImportInitvalues {
 		}
 		loadSystem(cfg, force);
 		loadInitUserAndGroup(cfg);
-		progress = 84;
+		progress = 80;
 
 		loadDefaultRooms("1".equals(cfg.createDefaultRooms), StringValue.valueOf(cfg.defaultLangId).toLong(1L));
 		progress = 100;

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-server/pom.xml
----------------------------------------------------------------------
diff --git a/openmeetings-server/pom.xml b/openmeetings-server/pom.xml
index 6d40ecd..73929d0 100644
--- a/openmeetings-server/pom.xml
+++ b/openmeetings-server/pom.xml
@@ -31,7 +31,6 @@
 	<description>Module for OpenMeetings server assembly</description>
 	<properties>
 		<server.dir>${project.build.directory}/red5-server</server.dir>
-		<webapp.languages.dir>../openmeetings-web/src/main/webapp/languages</webapp.languages.dir>
 		<languages.dir>../openmeetings-web/src/main/java/org/apache/openmeetings/web/app</languages.dir>
 		<assembly.finalName>apache-openmeetings-${project.version}</assembly.finalName>
 		<assembly.descriptor>server</assembly.descriptor>
@@ -194,7 +193,7 @@
 				<configuration>
 					<transformationSets>
 						<transformationSet>
-							<dir>${webapp.languages.dir}</dir>
+							<dir>src/site/stylesheets</dir>
 							<includes>
 								<include>errorvalues.xml</include>
 							</includes>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-server/src/site/stylesheets/errortable.xsl
----------------------------------------------------------------------
diff --git a/openmeetings-server/src/site/stylesheets/errortable.xsl b/openmeetings-server/src/site/stylesheets/errortable.xsl
index dbf72de..980f03a 100644
--- a/openmeetings-server/src/site/stylesheets/errortable.xsl
+++ b/openmeetings-server/src/site/stylesheets/errortable.xsl
@@ -30,7 +30,7 @@
    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.
- </xsl:comment>
+</xsl:comment>
 	<properties>
 		<title>Openmeetings Errors table</title>
 		<author email="dev@openmeetings.apache.org">Apache OpenMeetings Documentation Robot</author>
@@ -52,14 +52,14 @@
 	
 	<xsl:template match="row">
 		<xsl:variable name="englishPath"><xsl:value-of select="concat($languagesDir, '/Application.properties.xml')"/></xsl:variable>
+		<xsl:variable name="descId" select="field[@name='labelKey']"/>
 			<tr>
-				<td>-<xsl:value-of select="field[@name='errorvalues_id']"/></td>
+				<td>-<xsl:value-of select="$descId"/></td>
 				<td>
 					<xsl:variable name="type" select="concat('error.type.', field[@name='type'])"/>
 					<xsl:value-of select="document($englishPath)/properties/entry[@key=$type]/text()" />
 				</td>
 				<td>
-					<xsl:variable name="descId" select="field[@name='fieldvalues_id']"/>
 					<xsl:value-of select="document($englishPath)/properties/entry[@key=$descId]/text()" />
 				</td>
 			</tr>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-server/src/site/stylesheets/errorvalues.xml
----------------------------------------------------------------------
diff --git a/openmeetings-server/src/site/stylesheets/errorvalues.xml b/openmeetings-server/src/site/stylesheets/errorvalues.xml
new file mode 100644
index 0000000..237a9a0
--- /dev/null
+++ b/openmeetings-server/src/site/stylesheets/errorvalues.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+
+-->
+<ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+		xsi:noNamespaceSchemaLocation="errorvalues.xsd">
+	<row>
+		<field name="starttime">2007-12-06 19:01:07</field>
+		<field name="updatetime" />
+		<field name="deleted">false</field>
+		<field name="labelKey">error.unknown</field>
+		<field name="type">error</field>
+	</row>
+	<row>
+		<field name="starttime">2017-05-18 19:01:07</field>
+		<field name="updatetime" />
+		<field name="deleted">false</field>
+		<field name="labelKey">error.bad.credentials</field>
+		<field name="type">error</field>
+	</row>
+	<row>
+		<field name="starttime">2007-12-06 19:01:07</field>
+		<field name="updatetime" />
+		<field name="deleted">false</field>
+		<field name="labelKey">error.short.login</field>
+		<field name="type">error</field>
+	</row>
+	<row>
+		<field name="starttime">2007-12-06 19:01:07</field>
+		<field name="updatetime" />
+		<field name="deleted">false</field>
+		<field name="labelKey">error.reg.disabled</field>
+		<field name="type">error</field>
+	</row>
+	<row>
+		<field name="starttime">2007-12-06 19:01:07</field>
+		<field name="updatetime" />
+		<field name="deleted">false</field>
+		<field name="labelKey">error.login.inuse</field>
+		<field name="type">error</field>
+	</row>
+	<row>
+		<field name="starttime">2007-12-06 19:01:07</field>
+		<field name="updatetime" />
+		<field name="deleted">false</field>
+		<field name="labelKey">error.email.inuse</field>
+		<field name="type">error</field>
+	</row>
+	<row>
+		<field name="starttime">2007-12-06 19:01:07</field>
+		<field name="updatetime" />
+		<field name="deleted">false</field>
+		<field name="labelKey">error.notallowed</field>
+		<field name="type">error</field>
+	</row>
+	<row>
+		<field name="starttime"/>
+		<field name="updatetime" />
+		<field name="deleted">false</field>
+		<field name="labelKey">error.nogroup</field>
+		<field name="type">error</field>
+	</row>
+	<row>
+		<field name="starttime" />
+		<field name="updatetime" />
+		<field name="deleted">false</field>
+		<field name="labelKey">error.notactivated</field>
+		<field name="type">error</field>
+	</row>
+</ROOT>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-server/src/site/stylesheets/errorvalues.xsd
----------------------------------------------------------------------
diff --git a/openmeetings-server/src/site/stylesheets/errorvalues.xsd b/openmeetings-server/src/site/stylesheets/errorvalues.xsd
new file mode 100644
index 0000000..5acb78a
--- /dev/null
+++ b/openmeetings-server/src/site/stylesheets/errorvalues.xsd
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+  
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+  <xs:element name="ROOT">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="row"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="row">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="field"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="field">
+    <xs:complexType mixed="true">
+      <xs:attribute name="name" use="required" type="xs:NCName"/>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-server/src/site/xdoc/ManualTesting.xml
----------------------------------------------------------------------
diff --git a/openmeetings-server/src/site/xdoc/ManualTesting.xml b/openmeetings-server/src/site/xdoc/ManualTesting.xml
index 326c47c..e6f6390 100644
--- a/openmeetings-server/src/site/xdoc/ManualTesting.xml
+++ b/openmeetings-server/src/site/xdoc/ManualTesting.xml
@@ -143,7 +143,7 @@
 							</ol>
 						</li>
 						<li>
-							Restricted room testing – general issues (should be tested with at least 3 attendees)
+							Presentation room testing – general issues (should be tested with at least 3 attendees)
 							<ol>
 								<li>Enter the room: different cases for the cam/micro, choosing of the cam resolution, test recording, allow/deny of video </li>
 								<li>User list should be shown correctly </li>
@@ -166,7 +166,7 @@
 							</ol>
 						</li>
 						<li>
-							Restricted room testing: file uploading + documents
+							Presentation room testing: file uploading + documents
 							<ol>
 								<li>Upload a document with "Load directly to whiteboard" switch turned on </li>
 								<li>Upload a with "Load directly to whiteboard" switch turned on off </li>
@@ -180,7 +180,7 @@
 							</ol>
 						</li>
 						<li>
-							Restricted room testing – whiteboard and properties panels (should be tested with at least 3 attendees)
+							Presentation room testing – whiteboard and properties panels (should be tested with at least 3 attendees)
 							<ol>
 								<li>Adding a removing a whiteboard </li>
 								<li>Full-fit switch </li>
@@ -201,7 +201,7 @@
 							</ol>						
 						</li>
 						<li>
-							Restricted room testing – chat (should be tested with at least 3 attendees)
+							Presentation room testing – chat (should be tested with at least 3 attendees)
 							<ol>
 								<li>Send a message </li>
 								<li>Start a private chat </li>
@@ -213,7 +213,7 @@
 							</ol>
 						</li>
 						<li>
-							Restricted room testing – screen sharing and recordings (should be tested with at least 3 attendees)
+							Presentation room testing – screen sharing and recordings (should be tested with at least 3 attendees)
 							<ol>
 								<li>"Share record/screen" button in the room </li>
 								<li>Desktop sharer: start/stop sharing </li>
@@ -223,7 +223,7 @@
 							</ol>
 						</li>
 						<li>
-							Restricted room testing – Actions menu
+							Presentation room testing – Actions menu
 							<ol>
 								<li>Send invitation: send English and localized message </li>
 								<li>Send invitation with password </li>
@@ -243,7 +243,6 @@
 						<li>
 							Conference room testing
 							<ol>
-								<li>User list should look in another way in compare with restricted type </li>
 								<li>Generally, all should look OK when enter the room </li>
 							</ol>
 						</li>
@@ -348,7 +347,7 @@
 					</ol>
 				</li>
 				<li>
-					<b>SIP integration tests</b> (should be tested with at least 3 attendees in the room; for restricted and interview rooms)
+					<b>SIP integration tests</b> (should be tested with at least 3 attendees in the room; for presentation and interview rooms)
 					<ol>
 						<li>Call from the room to the external phone number </li>
 						<li>Call from external phone number to the room </li>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java
----------------------------------------------------------------------
diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java
index b7ec0ed..91238ac 100644
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java
@@ -97,7 +97,7 @@ public class AppointmentLogic {
 		// Get the required labels one time for all meeting members. The
 		// Language of the email will be the system default language
 
-		String smsSubject = generateSMSSubject(LabelDao.getString(1158L, langId), a);
+		String smsSubject = generateSMSSubject(LabelDao.getString("1158", langId), a);
 
 		AbstractSubjectEmailTemplate t = AppointmentReminderTemplate.get(u, a, tz);
 		invitationManager.sendInvitationLink(inv, MessageType.Create, t.getSubject(), t.getEmail(), false);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java
----------------------------------------------------------------------
diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java
index 22e5073..577f129 100644
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java
@@ -46,8 +46,8 @@ public class EmailManager {
 	@Autowired
 	private MailHandler mailHandler;
 
-	public static String getString(long id) {
-		return ((IApplication)Application.get(wicketApplicationName)).getOmString(id);
+	public static String getString(String key) {
+		return ((IApplication)Application.get(wicketApplicationName)).getOmString(key);
 	}
 
 	/**
@@ -60,7 +60,7 @@ public class EmailManager {
 	 * @return
 	 * @throws Exception
 	 */
-	public String sendMail(String username, String email, String hash, Boolean sendEmailWithVerficationCode, Long langId) {
+	public void sendMail(String username, String email, String hash, Boolean sendEmailWithVerficationCode, Long langId) {
 		log.debug("sendMail:: username = {}, email = {}", username, email);
 		Integer sendEmailAtRegister = configurationDao.getConfValue("sendEmailAtRegister", Integer.class, "0");
 
@@ -68,14 +68,13 @@ public class EmailManager {
 		String link = ((IApplication)Application.get(wicketApplicationName)).urlForActivatePage(new PageParameters().add("u",  hash));
 
 		if (sendEmailAtRegister == 1) {
-			mailHandler.send(email, getString(512)
+			mailHandler.send(email, getString("512")
 				, RegisterUserTemplate.getEmail(username, email, sendEmailWithVerficationCode ? link : null));
 		}
-		return "success";
 	}
 
 	//FIXME, seems to be not used
 	public void sendFeedback(String username, String email, String message) {
-		mailHandler.send("user@openmeetings.apache.org", getString(499), FeedbackTemplate.getEmail(username, email, message));
+		mailHandler.send("user@openmeetings.apache.org", getString("499"), FeedbackTemplate.getEmail(username, email, message));
 	}
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
----------------------------------------------------------------------
diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
index 0b2c680..a4bf382 100644
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
@@ -169,74 +169,6 @@ public class InvitationManager implements IInvitationManager {
 	}
 
 	/**
-	 *
-	 * @param hashCode
-	 * @param hidePass
-	 * @return
-	 */
-	@Override
-	public Object getInvitationByHashCode(String hashCode, boolean hidePass) {
-		try {
-			log.debug("Invitation was requested by hashcode: " + hashCode);
-			Invitation i = invitationDao.getByHash(hashCode, hidePass, true);
-
-			if (i == null) {
-				// already deleted or does not exist
-				return new Long(-31);
-			} else {
-				switch (i.getValid()) {
-					case OneTime:
-						// do this only if the user tries to get the Invitation, not
-						// while checking the PWD
-						if (!i.isAllowEntry()) {
-							// Invitation is of type *only-one-time* and was
-							// already used
-							return new Long(-32);
-						}
-						break;
-					case Period:
-					case Endless:
-					default:
-						break;
-				}
-				return i;
-			}
-
-		} catch (Exception err) {
-			log.error("[getInvitationByHashCode]", err);
-		}
-		return new Long(-1);
-	}
-
-	/**
-	 *
-	 * @param hashCode
-	 * @param pass
-	 * @return
-	 */
-	@Override
-	public Object checkInvitationPass(String hashCode, String pass) {
-		try {
-			Object obj = getInvitationByHashCode(hashCode, false);
-			log.debug("checkInvitationPass - obj: " + obj);
-			if (obj instanceof Invitation) {
-				Invitation invitation = (Invitation) obj;
-
-				if (CryptProvider.get().verify(pass, invitation.getPassword())) {
-					return new Long(1);
-				} else {
-					return new Long(-34);
-				}
-			} else {
-				return obj;
-			}
-		} catch (Exception ex2) {
-			log.error("[checkInvitationPass] ", ex2);
-		}
-		return new Long(-1);
-	}
-
-	/**
 	 * @author vasya
 	 *
 	 * @param member

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
----------------------------------------------------------------------
diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
index a42cbcc..2fb9bc5 100644
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
@@ -19,6 +19,7 @@
 package org.apache.openmeetings.service.user;
 
 import static org.apache.openmeetings.db.util.UserHelper.getMinLoginLength;
+import static org.apache.openmeetings.util.OmException.UNKNOWN;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SOAP_REGISTER_KEY;
@@ -30,7 +31,6 @@ import java.security.SecureRandom;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -59,10 +59,10 @@ import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.db.entity.user.User.Type;
-import org.apache.openmeetings.db.entity.user.Userdata;
 import org.apache.openmeetings.db.util.TimezoneUtil;
 import org.apache.openmeetings.service.mail.EmailManager;
 import org.apache.openmeetings.util.DaoHelper;
+import org.apache.openmeetings.util.OmException;
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.red5.server.api.scope.IScope;
@@ -159,96 +159,6 @@ public class UserManager implements IUserManager {
 		return null;
 	}
 
-	@Override
-	public List<Userdata> getUserdataDashBoard(Long userId) {
-		if (userId != null && userId.longValue() > 0) {
-			try {
-				TypedQuery<Userdata> query = em.createQuery("select c from Userdata as c where c.userId = :userId AND c.deleted = false", Userdata.class);
-				query.setParameter("userId", userId);
-				List<Userdata> ll = query.getResultList();
-				return ll;
-			} catch (Exception ex2) {
-				log.error("getUserdataDashBoard", ex2);
-			}
-		}
-		return null;
-	}
-
-	public Userdata getUserdataByKey(Long userId, String key) {
-		Userdata userdata = new Userdata();
-		if (userId != null && userId.longValue() > 0) {
-			try {
-				TypedQuery<Userdata> query = em.createQuery("select c from Userdata as c where c.userId = :userId AND c.key = :key AND c.deleted = false", Userdata.class);
-				query.setParameter("userId", userId);
-				query.setParameter("key", key);
-				for (Iterator<Userdata> it2 = query.getResultList().iterator(); it2.hasNext();) {
-					userdata = it2.next();
-				}
-			} catch (Exception ex2) {
-				log.error("getUserdataByKey", ex2);
-			}
-		} else {
-			userdata.setComment("Error: No user id given");
-		}
-		return userdata;
-	}
-
-	public String updateUserdata(int dataId, long userId, String key,
-			String data, String comment) {
-		String res = "Fehler beim Update";
-		try {
-			String hqlUpdate = "update userdata set key= :key, userId = :userId, data = :data, updated = :updated, comment = :comment where id= :id";
-			int updatedEntities = em.createQuery(hqlUpdate)
-					.setParameter("key", key)
-					.setParameter("userId", userId)
-					.setParameter("data", data)
-					.setParameter("updated", -1L)
-					.setParameter("comment", comment)
-					.setParameter("id", dataId).executeUpdate();
-			res = "Success" + updatedEntities;
-		} catch (Exception ex2) {
-			log.error("updateUserdata", ex2);
-		}
-		return res;
-	}
-
-	public String updateUserdataByKey(Long userId, String key, String data, String comment) {
-		String res = "Fehler beim Update";
-		try {
-			String hqlUpdate = "UPDATE Userdata set data = :data, updated = :updated, "
-					+ "comment = :comment where userId= :userId AND key = :key";
-			int updatedEntities = em.createQuery(hqlUpdate)
-					.setParameter("data", data)
-					.setParameter("updated", -1L)
-					.setParameter("comment", comment)
-					.setParameter("userId", userId)
-					.setParameter("key", key).executeUpdate();
-			res = "Success" + updatedEntities;
-		} catch (Exception ex2) {
-			log.error("updateUserdataByKey", ex2);
-		}
-		return res;
-	}
-
-	public String addUserdata(long userId, String key, String data, String comment) {
-		String ret = "Fehler beim speichern der Userdata";
-		Userdata userdata = new Userdata();
-		userdata.setKey(key);
-		userdata.setData(data);
-		userdata.setInserted(new Date());
-		userdata.setUpdated(null);
-		userdata.setComment(comment);
-		userdata.setUserId(userId);
-		userdata.setDeleted(false);
-		try {
-			em.merge(userdata);
-			ret = "success";
-		} catch (Exception ex2) {
-			log.error("addUserdata", ex2);
-		}
-		return ret;
-	}
-
 	/**
 	 * Method to register a new User, User will automatically be added to the
 	 * default user_level(1) new users will be automatically added to the
@@ -276,7 +186,7 @@ public class UserManager implements IUserManager {
 	 * @return
 	 */
 	@Override
-	public Long registerUser(String login, String Userpass, String lastname,
+	public Object registerUser(String login, String Userpass, String lastname,
 			String firstname, String email, Date age, String street,
 			String additionalname, String fax, String zip, String country,
 			String town, long languageId, String phone, boolean sendSMS,
@@ -292,19 +202,19 @@ public class UserManager implements IUserManager {
 				}
 				// TODO: Read and generate SIP-Data via RPC-Interface Issue 1098
 
-				Long userId = registerUserInit(UserDao.getDefaultRights(), login,
+				Object user = registerUserInit(UserDao.getDefaultRights(), login,
 						Userpass, lastname, firstname, email, age, street,
 						additionalname, fax, zip, country, town, languageId,
 						true, Arrays.asList(cfgDao.getConfValue(CONFIG_DEFAULT_GROUP_ID, Long.class, null)), phone,
 						sendSMS, sendConfirmation, timezoneUtil.getTimeZone(jNameTimeZone), false, "", "", false, true, null);
 
-				if (userId > 0 && sendConfirmation) {
+				if (user instanceof User && sendConfirmation) {
 					return -40L;
 				}
 
-				return userId;
+				return user;
 			} else {
-				return -14L;
+				return "error.reg.disabled";
 			}
 		} catch (Exception e) {
 			log.error("[registerUser]", e);
@@ -340,20 +250,19 @@ public class UserManager implements IUserManager {
 	 * @param userSearchs
 	 * @param showContactData
 	 * @param showContactDataToContacts
-	 * @return new users_id OR null if an exception, -1 if an error, -4 if mail
-	 *         already taken, -5 if username already taken, -3 if login or pass
-	 *         or mail is empty
+	 * @return new user OR error code
+	 * @throws NoSuchAlgorithmException
 	 * @throws Exception
 	 */
 	@Override
-	public Long registerUserInit(Set<Right> rights, String login, String password, String lastname,
+	public Object registerUserInit(Set<Right> rights, String login, String password, String lastname,
 			String firstname, String email, Date age, String street,
 			String additionalname, String fax, String zip, String country,
 			String town, long languageId, boolean sendWelcomeMessage,
 			List<Long> groups, String phone, boolean sendSMS, Boolean sendConfirmation,
 			TimeZone timezone, Boolean forceTimeZoneCheck,
 			String userOffers, String userSearchs, Boolean showContactData,
-			Boolean showContactDataToContacts, String activatedHash) throws Exception {
+			Boolean showContactDataToContacts, String activatedHash) throws OmException, NoSuchAlgorithmException {
 		// TODO: make phone number persistent
 		// Check for required data
 		if (login.length() >= getMinLoginLength(cfgDao)) {
@@ -363,10 +272,7 @@ public class UserManager implements IUserManager {
 			if (checkName && checkEmail) {
 				String hash = Strings.isEmpty(activatedHash) ? UUID.randomUUID().toString() : activatedHash;
 				if (sendWelcomeMessage && email.length() != 0) {
-					String sendMail = emailManagement.sendMail(login, email, hash, sendConfirmation, languageId);
-					if (!sendMail.equals("success")) {
-						return -19L;
-					}
+					emailManagement.sendMail(login, email, hash, sendConfirmation, languageId);
 				}
 				Address adr =  userDao.getAddress(street, zip, town, country, additionalname, fax, phone, email);
 
@@ -386,21 +292,21 @@ public class UserManager implements IUserManager {
 				log.debug("Added user-Id " + u.getId());
 
 				if (adr.getId() != null && u.getId() != null) {
-					return u.getId();
+					return u;
 				} else {
-					return -16L;
+					return UNKNOWN.getKey();
 				}
 			} else {
 				if (!checkName) {
-					return -15L;
+					return "error.login.inuse";
 				} else if (!checkEmail) {
-					return -17L;
+					return "error.email.inuse";
 				}
 			}
 		} else {
-			return -13L;
+			return "error.short.login";
 		}
-		return -1L;
+		return UNKNOWN.getKey();
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmException.java
----------------------------------------------------------------------
diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmException.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmException.java
index 5db53bf..642b858 100644
--- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmException.java
+++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmException.java
@@ -20,25 +20,21 @@ package org.apache.openmeetings.util;
 
 public class OmException extends Exception {
 	private static final long serialVersionUID = 1L;
-	private Long code;
+	public final static OmException UNKNOWN = new OmException("error.unknown");
+	public final static OmException BAD_CREDENTIALS = new OmException("error.bad.credentials");
+	private final String key;
 
-	public OmException(String msg) {
-		super(msg);
-	}
-
-	public OmException(long code) {
-		this.code = Long.valueOf(code);
+	public OmException(String key) {
+		super();
+		this.key = key;
 	}
 
 	public OmException(Throwable cause) {
 		super(cause);
+		this.key = null;
 	}
 
-	public Long getCode() {
-		return code;
-	}
-
-	public void setCode(Long code) {
-		this.code = code;
+	public String getKey() {
+		return key;
 	}
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
----------------------------------------------------------------------
diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
index 4306393..72fb926 100644
--- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
+++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
@@ -52,7 +52,6 @@ public class OmFileHelper {
 	public static final String DB_PERSISTENCE_NAME = "classes/META-INF/%s_persistence.xml";
 	public static final String profilesPrefix = "profile_";
 	public static final String nameOfLanguageFile = "languages.xml";
-	public static final String nameOfErrorFile = "errorvalues.xml";
 	public static final String libraryFileName = "library.xml";
 	public static final String defaultProfileImageName = "profile.jpg";
 	public static final String profileFileName = "profile";

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
index 1c01aa9..c280870 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
@@ -36,7 +36,7 @@ public abstract class AdminSavePanel<T> extends FormSaveRefreshPanel<T> {
 		super(id, form);
 		this.form = form;
 
-		newRecord = new Label("newRecord", Model.of(Application.getString(344L)));
+		newRecord = new Label("newRecord", Model.of(Application.getString("344")));
 		add(newRecord.setVisible(false).setOutputMarkupId(true));
 	}
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.java
index 09de3fd..25ba67c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.java
@@ -212,7 +212,7 @@ public class BackupPanel extends AdminPanel {
 					target.add(feedback);
 				}
 			}));
-			add(new Label("cmdLineDesc", Application.getString(1505)).setEscapeModelStrings(false));
+			add(new Label("cmdLineDesc", Application.getString("1505")).setEscapeModelStrings(false));
 		}
 
 		@Override

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
index 6f11e2b..6d35a83 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
@@ -61,18 +61,18 @@ public class ConfigForm extends AdminBaseForm<Configuration> {
 		super(id, new CompoundPropertyModel<>(configuration));
 		setOutputMarkupId(true);
 		this.listContainer = listContainer;
-		add(new RequiredTextField<String>("key").setLabel(Model.of(Application.getString(267))).add(new IValidator<String>(){
+		add(new RequiredTextField<String>("key").setLabel(Model.of(Application.getString("267"))).add(new IValidator<String>(){
 			private static final long serialVersionUID = 1L;
 
 			@Override
 			public void validate(IValidatable<String> validatable) {
 				Configuration c = getBean(ConfigurationDao.class).forceGet(validatable.getValue());
 				if (c != null && !c.isDeleted() && !c.getId().equals(ConfigForm.this.getModelObject().getId())) {
-					validatable.error(new ValidationError(Application.getString(1544L)));
+					validatable.error(new ValidationError(Application.getString("error.cfg.exist")));
 				}
 			}
 		}));
-		add(new TextField<String>("value").setLabel(Model.of(Application.getString(271))));
+		add(new TextField<String>("value").setLabel(Model.of(Application.getString("271"))));
 		add(forDatePattern("updated", WEB_DATE_PATTERN));
 		add(new Label("user.login"));
 		add(new TextArea<String>("comment"));

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/AddLanguageDialog.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/AddLanguageDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/AddLanguageDialog.java
index 8fb3d30..953e6ff 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/AddLanguageDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/AddLanguageDialog.java
@@ -43,13 +43,13 @@ import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
 public class AddLanguageDialog extends AbstractFormDialog<String> {
 	private static final long serialVersionUID = 1L;
 	private final KendoFeedbackPanel feedback = new KendoFeedbackPanel("feedback", new Options("button", true));
-	private final DialogButton add = new DialogButton("add", Application.getString(366L));
+	private final DialogButton add = new DialogButton("add", Application.getString("366"));
 	private final Form<Void> form = new Form<>("addLangForm");
 	private final RequiredTextField<String> iso = new RequiredTextField<>("iso", Model.of(""));
 	private final LangPanel langPanel;
 
 	public AddLanguageDialog(String id, final LangPanel langPanel) {
-		super(id, Application.getString(364));
+		super(id, Application.getString("364"));
 		this.langPanel = langPanel;
 		add(form.add(feedback, iso.setOutputMarkupId(true)));
 		iso.add(new IValidator<String>() {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/d2a8e400/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
index c6a189f..3717f8a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
@@ -55,13 +55,13 @@ public class LdapForm extends AdminBaseForm<LdapConfig> {
 		setOutputMarkupId(true);
 		this.listContainer = listContainer;
 
-		add(new RequiredTextField<String>("name").setLabel(Model.of(Application.getString(1108))));
+		add(new RequiredTextField<String>("name").setLabel(Model.of(Application.getString("1108"))));
 		add(new CheckBox("active"));
 		add(forDatePattern("inserted", WEB_DATE_PATTERN));
 		add(new Label("insertedby.login"));
 		add(forDatePattern("updated", WEB_DATE_PATTERN));
 		add(new Label("updatedby.login"));
-		add(new RequiredTextField<String>("configFileName").setLabel(Model.of(Application.getString(1115))));
+		add(new RequiredTextField<String>("configFileName").setLabel(Model.of(Application.getString("1115"))));
 		add(new CheckBox("addDomainToUserName"));
 		add(new TextField<String>("domain"));
 		add(new TextArea<String>("comment"));