diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementServiceProviderImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementServiceProviderImpl.java index d887fe3a98..4b00db5f87 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementServiceProviderImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementServiceProviderImpl.java @@ -29,6 +29,7 @@ import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; import org.wso2.carbon.device.mgt.core.dto.*; import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException; import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager; +import org.wso2.carbon.device.mgt.core.internal.EmailServiceDataHolder; import org.wso2.carbon.device.mgt.core.license.mgt.LicenseManagerImpl; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; @@ -211,6 +212,13 @@ public class DeviceManagementServiceProviderImpl implements DeviceManagementServ return devicesOfUser; } + @Override + public void sendEnrollInvitation(String emailAddress) throws DeviceManagementException { + EmailMessageProperties emailMessageProperties = new EmailMessageProperties(); + emailMessageProperties.setSubject(""); + // EmailServiceDataHolder.getInstance().getEmailServiceProvider().sendEmail(); + } + @Override public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException { DeviceManager dms = diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java index 1f156f4f62..efbb959323 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java @@ -38,4 +38,6 @@ public interface DeviceManagementService extends DeviceManager, LicenseManager, List getDeviceListOfUser(String username) throws DeviceManagementException; + void sendEnrollInvitation(String emailAddress) throws DeviceManagementException; + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementServiceImpl.java index e81e5c1410..48b6853b52 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementServiceImpl.java @@ -26,6 +26,7 @@ import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; +import org.wso2.carbon.device.mgt.core.internal.EmailServiceDataHolder; import java.util.List; @@ -85,6 +86,11 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().getDeviceListOfUser(username); } + @Override + public void sendEnrollInvitation(String emailAddress) throws DeviceManagementException { + DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().sendEnrollInvitation(emailAddress); + } + @Override public org.wso2.carbon.device.mgt.common.Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java index 37f405bda4..a619a3e4e3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java @@ -146,5 +146,5 @@ public final class DeviceManagerUtil { PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); return ctx.getTenantId(); } - + } diff --git a/components/user-mgt/org.wso2.carbon.device.mgt.user.common/src/main/java/org/wso2/carbon/device/mgt/user/common/User.java b/components/user-mgt/org.wso2.carbon.device.mgt.user.common/src/main/java/org/wso2/carbon/device/mgt/user/common/User.java index 19e8682fb5..057bd2019f 100644 --- a/components/user-mgt/org.wso2.carbon.device.mgt.user.common/src/main/java/org/wso2/carbon/device/mgt/user/common/User.java +++ b/components/user-mgt/org.wso2.carbon.device.mgt.user.common/src/main/java/org/wso2/carbon/device/mgt/user/common/User.java @@ -24,6 +24,29 @@ public class User { private String userName; private String roleName; + private String firstName; + private String email; + private String lastName; + private String streatAddress; + private String locality; + private String region; + private String postalCode; + private String country; + private String hone; + private String im; + private String organization; + private String url; + private String title; + private String mobile; + private String nickName; + private String dateOfBirth; + private String gender; + private String accountStatus; + private String challengeQuestion; + private String identityClaimUri; + private String tempEmailAddress; + + private ArrayList claimList; public User(String userName) { @@ -58,4 +81,172 @@ public class User { public void setClaimList(ArrayList claimList) { this.claimList = claimList; } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getStreatAddress() { + return streatAddress; + } + + public void setStreatAddress(String streatAddress) { + this.streatAddress = streatAddress; + } + + public String getLocality() { + return locality; + } + + public void setLocality(String locality) { + this.locality = locality; + } + + public String getRegion() { + return region; + } + + public void setRegion(String region) { + this.region = region; + } + + public String getPostalCode() { + return postalCode; + } + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + public String getCountry() { + return country; + } + + public void setCountry(String country) { + this.country = country; + } + + public String getHone() { + return hone; + } + + public void setHone(String hone) { + this.hone = hone; + } + + public String getIm() { + return im; + } + + public void setIm(String im) { + this.im = im; + } + + public String getOrganization() { + return organization; + } + + public void setOrganization(String organization) { + this.organization = organization; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } + + public String getNickName() { + return nickName; + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String getDateOfBirth() { + return dateOfBirth; + } + + public void setDateOfBirth(String dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + + public String getAccountStatus() { + return accountStatus; + } + + public void setAccountStatus(String accountStatus) { + this.accountStatus = accountStatus; + } + + public String getChallengeQuestion() { + return challengeQuestion; + } + + public void setChallengeQuestion(String challengeQuestion) { + this.challengeQuestion = challengeQuestion; + } + + public String getIdentityClaimUri() { + return identityClaimUri; + } + + public void setIdentityClaimUri(String identityClaimUri) { + this.identityClaimUri = identityClaimUri; + } + + public String getTempEmailAddress() { + return tempEmailAddress; + } + + public void setTempEmailAddress(String tempEmailAddress) { + this.tempEmailAddress = tempEmailAddress; + } } diff --git a/components/user-mgt/org.wso2.carbon.device.mgt.user.core/src/main/java/org/wso2/carbon/device/mgt/user/core/UserManagerImpl.java b/components/user-mgt/org.wso2.carbon.device.mgt.user.core/src/main/java/org/wso2/carbon/device/mgt/user/core/UserManagerImpl.java index fc7a2d3210..14740a1229 100644 --- a/components/user-mgt/org.wso2.carbon.device.mgt.user.core/src/main/java/org/wso2/carbon/device/mgt/user/core/UserManagerImpl.java +++ b/components/user-mgt/org.wso2.carbon.device.mgt.user.core/src/main/java/org/wso2/carbon/device/mgt/user/core/UserManagerImpl.java @@ -28,14 +28,45 @@ import org.wso2.carbon.device.mgt.user.core.internal.DeviceMgtUserDataHolder; import org.wso2.carbon.user.api.Claim; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.api.UserStoreManager; +import org.wso2.carbon.user.core.UserCoreConstants; import java.util.ArrayList; import java.util.List; +import java.util.Map; public class UserManagerImpl implements UserManager { private static Log log = LogFactory.getLog(UserManagerImpl.class); + public static final String GIVEN_NAME = UserCoreConstants.ClaimTypeURIs.GIVEN_NAME; + public static final String EMAIL_ADDRESS = UserCoreConstants.ClaimTypeURIs.EMAIL_ADDRESS; + public static final String SURNAME = UserCoreConstants.ClaimTypeURIs.SURNAME; + public static final String STREET_ADDRESS = UserCoreConstants.ClaimTypeURIs.STREET_ADDRESS; + public static final String LOCALITY = UserCoreConstants.ClaimTypeURIs.LOCALITY; + public static final String REGION = UserCoreConstants.ClaimTypeURIs.REGION; + public static final String POSTAL_CODE = UserCoreConstants.ClaimTypeURIs.POSTAL_CODE; + public static final String COUNTRY = UserCoreConstants.ClaimTypeURIs.COUNTRY; + public static final String HONE = UserCoreConstants.ClaimTypeURIs.HONE; + public static final String IM = UserCoreConstants.ClaimTypeURIs.IM; + public static final String ORGANIZATION = UserCoreConstants.ClaimTypeURIs.ORGANIZATION; + public static final String URL = UserCoreConstants.ClaimTypeURIs.URL; + public static final String TITLE = UserCoreConstants.ClaimTypeURIs.TITLE; + public static final String ROLE = UserCoreConstants.ClaimTypeURIs.ROLE; + public static final String MOBILE = UserCoreConstants.ClaimTypeURIs.MOBILE; + public static final String NICKNAME = UserCoreConstants.ClaimTypeURIs.NICKNAME; + public static final String DATE_OF_BIRTH = UserCoreConstants.ClaimTypeURIs.DATE_OF_BIRTH; + public static final String GENDER = UserCoreConstants.ClaimTypeURIs.GENDER; + public static final String ACCOUNT_STATUS = UserCoreConstants.ClaimTypeURIs.ACCOUNT_STATUS; + public static final String CHALLENGE_QUESTION_URI = UserCoreConstants.ClaimTypeURIs.CHALLENGE_QUESTION_URI; + public static final String IDENTITY_CLAIM_URI = UserCoreConstants.ClaimTypeURIs.IDENTITY_CLAIM_URI; + public static final String TEMPORARY_EMAIL_ADDRESS = UserCoreConstants.ClaimTypeURIs.TEMPORARY_EMAIL_ADDRESS; + + public static final String[] DEFAULT_CLAIM_ARR = new String[]{GIVEN_NAME,EMAIL_ADDRESS,SURNAME,STREET_ADDRESS, + LOCALITY,REGION,REGION,POSTAL_CODE,COUNTRY,HONE,IM,ORGANIZATION,URL,TITLE,ROLE,MOBILE,NICKNAME, + DATE_OF_BIRTH,GENDER,ACCOUNT_STATUS,CHALLENGE_QUESTION_URI,IDENTITY_CLAIM_URI,TEMPORARY_EMAIL_ADDRESS}; + + // private static final String CLAIM_URL_ + @Override public List getUsersForTenantAndRole(int tenantId, String roleName) throws UserManagementException { @@ -51,7 +82,8 @@ public class UserManagerImpl implements UserManager { User newUser; for (String userName : userNames) { newUser = new User(userName); - setUserClaims(newUser, userStoreManager.getUserClaimValues(userName, null)); + setUserClaims(newUser, userStoreManager.getUserClaimValues(userName, DEFAULT_CLAIM_ARR, + UserCoreConstants.DEFAULT_PROFILE)); usersList.add(newUser); } } catch (UserStoreException userStoreEx) { @@ -103,7 +135,8 @@ public class UserManagerImpl implements UserManager { User newUser; for (String userName : userNames) { newUser = new User(userName); - setUserClaims(newUser, userStoreManager.getUserClaimValues(userName, null)); + setUserClaims(newUser, userStoreManager.getUserClaimValues(userName, DEFAULT_CLAIM_ARR, + UserCoreConstants.DEFAULT_PROFILE)); usersList.add(newUser); } } catch (UserStoreException userStoreEx) { @@ -115,19 +148,30 @@ public class UserManagerImpl implements UserManager { return usersList; } - private void setUserClaims(User newUser, Claim[] userClaimValues) { - - Claims userClaims; - ArrayList claimsList = new ArrayList(); - for (Claim claim : userClaimValues) { - userClaims = new Claims(); - userClaims.setClaimUrl(claim.getClaimUri()); - userClaims.setDescription(claim.getDescription()); - userClaims.setDialectUrl(claim.getDialectURI()); - userClaims.setValue(claim.getValue()); - claimsList.add(userClaims); - } - newUser.setClaimList(claimsList); + private void setUserClaims(User newUser, Map claimMap) { + + newUser.setRoleName(UserCoreConstants.ClaimTypeURIs.ROLE); + newUser.setAccountStatus(claimMap.get(ACCOUNT_STATUS)); + newUser.setChallengeQuestion(claimMap.get(CHALLENGE_QUESTION_URI)); + newUser.setCountry(claimMap.get(COUNTRY)); + newUser.setDateOfBirth(claimMap.get(DATE_OF_BIRTH)); + newUser.setEmail(claimMap.get(EMAIL_ADDRESS)); + newUser.setFirstName(claimMap.get(GIVEN_NAME)); + newUser.setGender(claimMap.get(GENDER)); + newUser.setHone(claimMap.get(HONE)); + newUser.setIm(claimMap.get(IM)); + newUser.setIdentityClaimUri(claimMap.get(IDENTITY_CLAIM_URI)); + newUser.setLastName(claimMap.get(SURNAME)); + newUser.setLocality(claimMap.get(LOCALITY)); + newUser.setEmail(claimMap.get(EMAIL_ADDRESS)); + newUser.setMobile(claimMap.get(MOBILE)); + newUser.setNickName(claimMap.get(NICKNAME)); + newUser.setOrganization(claimMap.get(ORGANIZATION)); + newUser.setPostalCode(claimMap.get(POSTAL_CODE)); + newUser.setRegion(claimMap.get(REGION)); + newUser.setStreatAddress(claimMap.get(STREET_ADDRESS)); + newUser.setTitle(claimMap.get(TITLE)); + newUser.setTempEmailAddress(claimMap.get(TEMPORARY_EMAIL_ADDRESS)); } } diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/license-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/license-config.xml index dfaa9db038..e182e58bb9 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/license-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/license-config.xml @@ -1,22 +1,20 @@