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 2018/09/08 11:36:39 UTC

[openmeetings] branch master updated: [OPENMEETINGS-1929] pictureUri can be set via SOAP/REST API

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 2bef405  [OPENMEETINGS-1929] pictureUri can be set via SOAP/REST API
2bef405 is described below

commit 2bef405367cd138db616fe8ce7ff0ad975be3e94
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Sat Sep 8 18:34:18 2018 +0700

    [OPENMEETINGS-1929] pictureUri can be set via SOAP/REST API
---
 .../apache/openmeetings/core/converter/ImageConverter.java   |  4 ++--
 .../org/apache/openmeetings/core/ldap/LdapLoginManager.java  |  6 +++---
 .../java/org/apache/openmeetings/db/dao/user/UserDao.java    |  4 ++--
 .../java/org/apache/openmeetings/db/dto/user/UserDTO.java    | 12 ++++++++++++
 .../java/org/apache/openmeetings/db/entity/user/User.java    | 12 ++++++------
 .../main/java/org/apache/openmeetings/cli/CleanupHelper.java |  2 +-
 .../java/org/apache/openmeetings/web/app/UserManager.java    |  2 +-
 .../java/org/apache/openmeetings/web/app/WebSession.java     |  4 ++--
 .../org/apache/openmeetings/web/user/rooms/RoomsPanel.java   |  2 +-
 .../openmeetings/web/util/ProfileImageResourceReference.java |  4 ++--
 .../org/apache/openmeetings/webservice/TestUserService.java  |  2 +-
 11 files changed, 33 insertions(+), 21 deletions(-)

diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
index d0c27db..24cb01a 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
@@ -105,10 +105,10 @@ public class ImageConverter extends BaseConverter {
 			file.delete();
 		}
 
-		String pictureuri = destinationFile.getName();
+		String img = destinationFile.getName();
 		User us = userDao.get(userId);
 		us.setUpdated(new Date());
-		us.setPictureuri(pictureuri);
+		us.setPictureUri(img);
 		userDao.update(us, userId);
 
 		return returnMap;
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
index 1ccdfbd..917b996 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
@@ -370,9 +370,9 @@ public class LdapLoginManager {
 			u.getAddress().setCountry(validateCountry(getStringAttr(config, entry, CONFIGKEY_LDAP_KEY_COUNTRY, LDAP_KEY_COUNTRY)));
 			u.getAddress().setTown(getStringAttr(config, entry, CONFIGKEY_LDAP_KEY_TOWN, LDAP_KEY_TOWN));
 			u.getAddress().setPhone(getStringAttr(config, entry, CONFIGKEY_LDAP_KEY_PHONE, LDAP_KEY_PHONE));
-			u.setPictureuri(getStringAttr(config, entry, CONFIGKEY_LDAP_KEY_PICTURE, ""));
-			if (Strings.isEmpty(u.getPictureuri()) && !Strings.isEmpty(options.pictureUri)) {
-				u.setPictureuri(options.pictureUri);
+			u.setPictureUri(getStringAttr(config, entry, CONFIGKEY_LDAP_KEY_PICTURE, ""));
+			if (Strings.isEmpty(u.getPictureUri()) && !Strings.isEmpty(options.pictureUri)) {
+				u.setPictureUri(options.pictureUri);
 			}
 			String tz = getStringAttr(config, entry, LdapOptions.CONFIGKEY_LDAP_TIMEZONE_NAME, LDAP_KEY_TIMEZONE);
 			if (tz == null) {
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 be8fa16..7d303bd 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
@@ -357,8 +357,8 @@ public class UserDao implements IGroupAdminDataProviderDao<User> {
 			u.setGroupUsers(new ArrayList<>());
 			u.setRights(new HashSet<>());
 			u.setTimeZoneId(getDefaultTimezone());
-			File pic = OmFileHelper.getUserProfilePicture(u.getId(), u.getPictureuri(), null);
-			u.setPictureuri(null);
+			File pic = OmFileHelper.getUserProfilePicture(u.getId(), u.getPictureUri(), null);
+			u.setPictureUri(null);
 			ICrypt crypt = CryptProvider.get();
 			try {
 				u.updatePassword(crypt.randomPassword(25));
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java
index f8da684..fe60bd4 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java
@@ -52,6 +52,7 @@ public class UserDTO implements Serializable {
 	private String timeZoneId;
 	private String externalId;
 	private String externalType;
+	private String pictureUri;
 	private Type type = Type.user;
 
 	public UserDTO() {
@@ -70,6 +71,7 @@ public class UserDTO implements Serializable {
 		type = u.getType();
 		externalId = u.getExternalId();
 		externalType = u.getExternalType();
+		pictureUri = u.getPictureUri();
 	}
 
 	public User get(UserDao userDao) {
@@ -84,6 +86,7 @@ public class UserDTO implements Serializable {
 		u.setExternalId(externalId);
 		u.setExternalType(externalType);
 		u.setType(type);
+		u.setPictureUri(pictureUri);
 		return u;
 	}
 
@@ -193,6 +196,14 @@ public class UserDTO implements Serializable {
 		this.externalType = externalType;
 	}
 
+	public String getPictureUri() {
+		return pictureUri;
+	}
+
+	public void setPictureUri(String pictureUri) {
+		this.pictureUri = pictureUri;
+	}
+
 	public static UserDTO fromString(String s) {
 		return get(new JSONObject(s));
 	}
@@ -219,6 +230,7 @@ public class UserDTO implements Serializable {
 		u.externalId = o.optString("externalId", null);
 		u.externalType = o.optString("externalType", null);
 		u.type = optEnum(Type.class, o, "type");
+		u.pictureUri = o.optString("pictureUri", null);
 		return u;
 	}
 
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
index 910cee3..5090e75 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
@@ -215,7 +215,7 @@ public class User extends HistoricalEntity {
 
 	@Column(name = "pictureuri")
 	@Element(data = true, required = false)
-	private String pictureuri;
+	private String pictureUri;
 
 	@Column(name = "language_id")
 	@Element(name = "language_id", data = true, required = false)
@@ -417,12 +417,12 @@ public class User extends HistoricalEntity {
 		this.salutation = salutation;
 	}
 
-	public String getPictureuri() {
-		return pictureuri;
+	public String getPictureUri() {
+		return pictureUri;
 	}
 
-	public void setPictureuri(String pictureuri) {
-		this.pictureuri = pictureuri;
+	public void setPictureUri(String pictureUri) {
+		this.pictureUri = pictureUri;
 	}
 
 	public long getLanguageId() {
@@ -582,7 +582,7 @@ public class User extends HistoricalEntity {
 	public String toString() {
 		return "User [id=" + id + ", firstname=" + firstname
 				+ ", lastname=" + lastname + ", login=" + login
-				+ ", pictureuri=" + pictureuri + ", deleted=" + isDeleted()
+				+ ", pictureuri=" + pictureUri + ", deleted=" + isDeleted()
 				+ ", languageId=" + languageId + ", address=" + address
 				+ ", externalId=" + externalId + ", externalType=" + externalType
 				+ ", type=" + type + "]";
diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
index 963a415..aa679e5 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
@@ -58,7 +58,7 @@ public class CleanupHelper {
 			}
 		}
 		for (User u : udao.getAllBackupUsers()) {
-			if (!u.isDeleted() && u.getPictureuri() != null && !new File(OmFileHelper.getUploadProfilesUserDir(u.getId()), u.getPictureuri()).exists()) {
+			if (!u.isDeleted() && u.getPictureUri() != null && !new File(OmFileHelper.getUploadProfilesUserDir(u.getId()), u.getPictureUri()).exists()) {
 				missing++;
 			}
 		}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
index ae23f74..df76ee5 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
@@ -274,7 +274,7 @@ public class UserManager implements IUserManager {
 			u.getAddress().setEmail(user.getEmail());
 			String picture = user.getPicture();
 			if (picture != null) {
-				u.setPictureuri(picture);
+				u.setPictureUri(picture);
 			}
 			String locale = user.getLocale();
 			if (locale != null) {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
index 157b9b1..0e8cc34 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
@@ -246,11 +246,11 @@ public class WebSession extends AbstractAuthenticatedWebSession implements IWebS
 						user.getRights().clear();
 						user.getRights().add(Right.Room);
 						user.getAddress().setEmail(remoteUser.getEmail());
-						user.setPictureuri(remoteUser.getPictureUrl());
+						user.setPictureUri(remoteUser.getPictureUrl());
 					} else {
 						user.setFirstname(remoteUser.getFirstname());
 						user.setLastname(remoteUser.getLastname());
-						user.setPictureuri(remoteUser.getPictureUrl());
+						user.setPictureUri(remoteUser.getPictureUrl());
 					}
 					user = userDao.update(user, null);
 					if (markUsed) {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
index 9d1a267..612f7d5 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
@@ -83,7 +83,7 @@ public class RoomsPanel extends UserPanel {
 					protected byte[] getData(Attributes attributes) {
 						String uri = null;
 						if (userId != null) {
-							uri = userDao.get(userId > 0 ? userId : -userId).getPictureuri();
+							uri = userDao.get(userId > 0 ? userId : -userId).getPictureUri();
 						}
 						File img = OmFileHelper.getUserProfilePicture(userId, uri);
 						try (InputStream is = new FileInputStream(img)) {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java
index 929225d..76fba36 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java
@@ -59,7 +59,7 @@ public class ProfileImageResourceReference extends ResourceReference {
 	}
 
 	public static String getUrl(RequestCycle rc, User u) {
-		String uri = u.getPictureuri();
+		String uri = u.getPictureUri();
 		if (!isAbsolute(uri)) {
 			File img = OmFileHelper.getUserProfilePicture(u.getId(), uri);
 			uri = rc.urlFor(new ProfileImageResourceReference()
@@ -92,7 +92,7 @@ public class ProfileImageResourceReference extends ResourceReference {
 					PageParameters params = attributes.getParameters();
 					try {
 						userId = params.get("id").toOptionalLong();
-						uri = SIP_USER_ID.equals(userId) ? null : userDao.get(userId).getPictureuri();
+						uri = SIP_USER_ID.equals(userId) ? null : userDao.get(userId).getPictureUri();
 					} catch (Exception e) {
 						// no-op, junk filter
 					}
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
index bbe326a..5276275 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
@@ -116,7 +116,7 @@ public class TestUserService extends AbstractWebServiceTest {
 		assertNotEquals(userId0, userId1);
 		User u = getBean(UserDao.class).get(userId1);
 		assertNotNull("User should be created successfuly", u);
-		assertEquals("Picture URL should be preserved", DUMMY_PICTURE_URL, u.getPictureuri());
+		assertEquals("Picture URL should be preserved", DUMMY_PICTURE_URL, u.getPictureUri());
 	}
 
 	@Test