diff --git a/modules/integration/tests-integration/tests-backend/src/test/java/org/wso2/identity/integration/test/saml/SAMLSSOTestCase.java b/modules/integration/tests-integration/tests-backend/src/test/java/org/wso2/identity/integration/test/saml/SAMLSSOTestCase.java
index b4485ee871..2ff05bf8c8 100644
--- a/modules/integration/tests-integration/tests-backend/src/test/java/org/wso2/identity/integration/test/saml/SAMLSSOTestCase.java
+++ b/modules/integration/tests-integration/tests-backend/src/test/java/org/wso2/identity/integration/test/saml/SAMLSSOTestCase.java
@@ -284,7 +284,7 @@ public void testAddSP() throws Exception {
SAMLSSOServiceProviderDTO[] samlssoServiceProviderDTOs = ssoConfigServiceClient
.getServiceProviders().getServiceProviders();
Assert.assertEquals(samlssoServiceProviderDTOs[0].getIssuer(), config.getApp().getArtifact(),
- "Adding a service provider has failed for " + config);
+ "Adding a service provider has failed for " + config);
}
@Test(description = "Remove service provider", groups = "wso2.is", dependsOnMethods = { "testSAMLSSOLogout" })
@@ -295,7 +295,7 @@ public void testRemoveSP()
}
@Test(alwaysRun = true, description = "Testing SAML SSO login", groups = "wso2.is",
- dependsOnMethods = { "testAddSP" })
+ dependsOnMethods = { "testAddSP" })
public void testSAMLSSOLogin() {
try {
HttpResponse response;
@@ -323,14 +323,14 @@ public void testSAMLSSOLogin() {
resultPage = extractDataFromResponse(response);
Assert.assertTrue(resultPage.contains("You are logged in as " + config.getUser().getTenantAwareUsername()),
- "SAML SSO Login failed for " + config);
+ "SAML SSO Login failed for " + config);
} catch (Exception e) {
Assert.fail("SAML SSO Login test failed for " + config, e);
}
}
@Test(alwaysRun = true, description = "Testing SAML SSO Claims", groups = "wso2.is",
- dependsOnMethods = { "testSAMLSSOLogin" })
+ dependsOnMethods = { "testSAMLSSOLogin" })
public void testClaims(){
String claimString = resultPage.substring(resultPage.lastIndexOf("
"));
@@ -345,7 +345,7 @@ public void testClaims(){
}
@Test(alwaysRun = true, description = "Testing SAML SSO logout", groups = "wso2.is",
- dependsOnMethods = { "testSAMLSSOLogin" })
+ dependsOnMethods = { "testSAMLSSOLogin" })
public void testSAMLSSOLogout() throws Exception {
try {
HttpResponse response;
@@ -367,7 +367,7 @@ public void testSAMLSSOLogout() throws Exception {
String resultPage = extractDataFromResponse(response);
Assert.assertTrue(resultPage.contains("index.jsp") && !resultPage.contains("error"),
- "SAML SSO Logout failed for " + config);
+ "SAML SSO Logout failed for " + config);
} catch (Exception e) {
Assert.fail("SAML SSO Logout test failed for " + config, e);
}
@@ -399,13 +399,13 @@ private void assertLocalClaims(String claims){
Map attributeMap = extractClaims(claims);
Assert.assertTrue(attributeMap.containsKey(firstNameClaimURI), "Claim nickname is expected");
Assert.assertEquals(attributeMap.get(firstNameClaimURI), config.getUser().getNickname(),
- "Expected claim value for nickname is " + config.getUser().getNickname());
+ "Expected claim value for nickname is " + config.getUser().getNickname());
Assert.assertTrue(attributeMap.containsKey(lastNameClaimURI), "Claim lastname is expected");
Assert.assertEquals(attributeMap.get(lastNameClaimURI), config.getUser().getUsername(),
- "Expected claim value for lastname is " + config.getUser().getUsername());
+ "Expected claim value for lastname is " + config.getUser().getUsername());
Assert.assertTrue(attributeMap.containsKey(emailClaimURI), "Claim email is expected");
Assert.assertEquals(attributeMap.get(emailClaimURI), config.getUser().getEmail(),
- "Expected claim value for email is " + config.getUser().getEmail());
+ "Expected claim value for email is " + config.getUser().getEmail());
}
private void assertNoneClaims(String claims){
@@ -439,10 +439,10 @@ private Tomcat getTomcat() {
private void setSystemProperties() {
URL resourceUrl = getClass().getResource(File.separator + "keystores" + File.separator
- + "products" + File.separator + "wso2carbon.jks");
+ + "products" + File.separator + "wso2carbon.jks");
System.setProperty("javax.net.ssl.trustStore", resourceUrl.getPath());
System.setProperty("javax.net.ssl.trustStorePassword",
- "wso2carbon");
+ "wso2carbon");
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
}
@@ -573,8 +573,8 @@ private void createUser(){
try {
// creating the user
remoteUSMServiceClient.addUser(config.getUser().getTenantAwareUsername(), config.getUser().getPassword(),
- null, getUserClaims(),
- profileName, true);
+ null, getUserClaims(),
+ profileName, true);
} catch (Exception e) {
Assert.fail("Error while creating the user", e);
}
@@ -659,4 +659,4 @@ private ClaimValue[] getUserClaims(){
return claimValues;
}
-}
+}
\ No newline at end of file
diff --git a/modules/integration/tests-integration/tests-backend/src/test/resources/testng.xml b/modules/integration/tests-integration/tests-backend/src/test/resources/testng.xml
index 657e212d89..9ef8822938 100644
--- a/modules/integration/tests-integration/tests-backend/src/test/resources/testng.xml
+++ b/modules/integration/tests-integration/tests-backend/src/test/resources/testng.xml
@@ -25,7 +25,7 @@
-
+
@@ -34,7 +34,7 @@
-
+
@@ -47,15 +47,15 @@
-
+
-
+
-
+
diff --git a/modules/jaggery-apps/user-dashboard/dashboard/controllers/user-registration/add.jag b/modules/jaggery-apps/user-dashboard/dashboard/controllers/user-registration/add.jag
index b91fb6d429..369075358a 100644
--- a/modules/jaggery-apps/user-dashboard/dashboard/controllers/user-registration/add.jag
+++ b/modules/jaggery-apps/user-dashboard/dashboard/controllers/user-registration/add.jag
@@ -2,12 +2,16 @@
var log = new Log();
var selfReg = require('/controllers/user-registration/userRegistrationClient.jag');
+var userRegClient = require('/controllers/user-registration/userRegistrationServiceClient.jag');
+var userDTO = Packages.org.wso2.carbon.identity.user.registration.stub.dto.UserDTO;
+var userFieldDTO = Packages.org.wso2.carbon.identity.user.registration.stub.dto.UserFieldDTO;
var constants = require("../../util/constants.jag");
var util = require("../../util/utility.jag");
var i18n = util.initI18N();
function edit(){
+ var user = new userDTO();
var messages = i18n.localize("messages");
try{
var claim = constants.DEFAULT_CLAIM_URL;
@@ -15,16 +19,6 @@ function edit(){
claim = constants.OPENID_REG_CLAIM_URL;
}
-
- var req =
-
-
-
-
- ;
-
- var userName = ;
-
var domain = request.getParameter("domain");
var userNameVal = request.getParameter("userName");
var pwd = request.getParameter("pwd");
@@ -54,15 +48,17 @@ function edit(){
return;
}
- req.*::user.*::openID.setChildren(session.get("openIdURL"));
- req.*::user.*::password.setChildren(pwd);
- userName.setChildren(domain + "/" + userNameVal);
-
+ user.setUserName(domain + "/" + userNameVal);
+ user.setPassword(pwd);
+ user.setOpenID(session.get("openIdURL")) ;
var fieldValues = selfReg.readUserFieldsForUserRegistration(claim, true);
fieldValues = fieldValues.*::['return'];
+ var userFields = [];
+ var i =0;
+
log.debug(fieldValues);
for each (var f in fieldValues){
@@ -77,43 +73,45 @@ function edit(){
return;
}
- var fieldValue =
-
-
-
-
-
-
-
-
-
-
- ;
-
- fieldValue.*::claimUri.setChildren(f.*::['claimUri'].text());
- fieldValue.*::defaultValue.setChildren(f.*::['defaultValue'].text());
- fieldValue.*::displayOrder.setChildren(f.*::['displayOrder'].text());
- fieldValue.*::fieldName.setChildren(f.*::['fieldName'].text());
-
- fieldValue.*::inputValues.setChildren(f.*::['inputValues'].text());
- fieldValue.*::maxLength.setChildren(f.*::['maxLength'].text());
- fieldValue.*::minLength.setChildren(f.*::['minLength'].text());
- fieldValue.*::regEx.setChildren(f.*::['regEx'].text());
- fieldValue.*::required.setChildren(f.*::['required'].text());
+ var fieldDTO = new userFieldDTO();
+ var inputValues = f.*::['inputValues'];
+ var inputValArray = [];
+ var j = 0;
+
+ for each (var inVal in inputValues){
+ inputValArray[j]= inVal.text();
+ }
+
+
+
+ fieldDTO.setClaimUri(f.*::['claimUri'].text());
+ fieldDTO.setDefaultValue(f.*::['defaultValue'].text());
+ fieldDTO.setDisplayOrder(f.*::['displayOrder'].text());
+ fieldDTO.setFieldName(f.*::['fieldName'].text());
+
+ fieldDTO.setInputValues(inputValArray);
+ fieldDTO.setMaxLength(f.*::['maxLength'].text());
+ fieldDTO.setMinLength(f.*::['minLength'].text());
+ fieldDTO.setRegEx(f.*::['regEx'].text());
+ fieldDTO.setRequired(Boolean(f.*::['required'].text()));
if(value != null && value.length > 0){
- fieldValue.*::fieldValue.setChildren(value);
- }
+ fieldDTO.setFieldValue(value);
+ } else{
+ fieldDTO.setFieldValue("");
+ }
+
- req.*::['user'].appendChild(fieldValue);
+ userFields[i] = fieldDTO;
+ i++;
}
- req.*::['user'].appendChild(userName);
- selfReg.addUser(req);
+ user.setUserFields(userFields);
+ userRegClient.addUser(user);
response.sendRedirect("../../login.jag?");
}catch(e){
log.error(e);
- response.sendRedirect("index.jag?e=1&error=service_invok_error");
+ response.sendRedirect("../../landing.jag?e=1&error=" + getErrorMessage(e.message));
}
}
@@ -138,4 +136,13 @@ function validate(value, f){
edit();
+function getErrorMessage(message) {
+ var msg = message.split(':');
+ if (msg.length > 0) {
+ return msg[2].toString().replaceAll('\'',' ');
+ }
+ return 'Error while adding user';
+}
+
+
%>
diff --git a/modules/jaggery-apps/user-dashboard/dashboard/controllers/user-registration/userRegistrationServiceClient.jag b/modules/jaggery-apps/user-dashboard/dashboard/controllers/user-registration/userRegistrationServiceClient.jag
new file mode 100644
index 0000000000..15bad7188d
--- /dev/null
+++ b/modules/jaggery-apps/user-dashboard/dashboard/controllers/user-registration/userRegistrationServiceClient.jag
@@ -0,0 +1,27 @@
+<%
+
+var log = new Log();
+
+var util = require("../../util/utility.jag");
+var serverUrl = util.getServerUrl() + "/UserRegistrationAdminService";
+var connectorStub = Packages.org.wso2.carbon.identity.user.registration.stub.UserRegistrationAdminServiceStub;
+var userDTO = Packages.org.wso2.carbon.identity.user.registration.stub.dto.UserDTO;
+var HTTPConstants = Packages.org.apache.axis2.transport.http.HTTPConstants;
+
+function addUser(user) {
+ try {
+ var serviceStub = new connectorStub(serverUrl);
+ var serviceClient = serviceStub._getServiceClient();
+ var option = serviceClient.getOptions();
+ option.setManageSession(true);
+ var cookie = session.get("auth-cookie");
+ option.setProperty(HTTPConstants.COOKIE_STRING, cookie);
+
+ serviceStub.addUser(user);
+ } catch (e) {
+ throw e;
+ }
+}
+
+
+%>
\ No newline at end of file
diff --git a/modules/jaggery-apps/user-dashboard/dashboard/landing.jag b/modules/jaggery-apps/user-dashboard/dashboard/landing.jag
index 596aa18582..6618f34e06 100644
--- a/modules/jaggery-apps/user-dashboard/dashboard/landing.jag
+++ b/modules/jaggery-apps/user-dashboard/dashboard/landing.jag
@@ -30,6 +30,14 @@
+ <%if(request.getParameter("error") != null && request.getParameter("error").length > 0) {%>
+
+ <%}%>
diff --git a/modules/p2-profile-gen/pom.xml b/modules/p2-profile-gen/pom.xml
index 5f32071088..6613e02019 100644
--- a/modules/p2-profile-gen/pom.xml
+++ b/modules/p2-profile-gen/pom.xml
@@ -133,7 +133,7 @@
org.wso2.carbon.identity:org.wso2.carbon.identity.provider.server.feature:${carbon.identity.version}
org.wso2.carbon.identity:org.wso2.carbon.idp.mgt.feature:${carbon.identity.version}
org.wso2.carbon.identity:org.wso2.carbon.identity.mgt.feature:${carbon.identity.version}
- org.wso2.carbon.identity:org.wso2.carbon.identity.self.registration.server.feature:${carbon.identity.version}
+ org.wso2.carbon.identity:org.wso2.carbon.identity.self.registration.feature:${carbon.identity.version}
org.wso2.carbon.identity:org.wso2.carbon.identity.user.profile.feature:${carbon.identity.version}
org.wso2.carbon.identity:org.wso2.carbon.identity.xacml.feature:${carbon.identity.version}
org.wso2.carbon.identity:org.wso2.carbon.claim.mgt.feature:${carbon.identity.version}
@@ -344,14 +344,13 @@
${carbon.identity.version}
- org.wso2.carbon.identity.self.registration.server.feature.group
+ org.wso2.carbon.identity.self.registration.feature.group
${carbon.identity.version}
org.wso2.carbon.identity.user.profile.feature.group
${carbon.identity.version}
-
org.wso2.carbon.identity.xacml.feature.group
${carbon.identity.version}