[jboss-svn-commits] JBL Code SVN: r22877 - labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Sep 18 09:15:04 EDT 2008
Author: szimano
Date: 2008-09-18 09:15:04 -0400 (Thu, 18 Sep 2008)
New Revision: 22877
Modified:
labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace/LabsAuthenticationProvider.java
labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace/LabsUser.java
Log:
user profile migration (most of the fields)
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace/LabsAuthenticationProvider.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace/LabsAuthenticationProvider.java 2008-09-18 13:10:09 UTC (rev 22876)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace/LabsAuthenticationProvider.java 2008-09-18 13:15:04 UTC (rev 22877)
@@ -8,6 +8,7 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
@@ -160,12 +161,34 @@
User u = userManager.getUser(nukeUser.getUsername());
Set<ProfileFieldValue> pfvSet = new HashSet<ProfileFieldValue>();
- for (ProfileField pf : profileFieldManager.getDefaultFields()) {
- System.out.println(pf);
- if (profile.get(pf.getName()) != null) {
- ProfileFieldValue pfv = new ProfileFieldValue(pf);
- pfv.setValue(profile.get(pf.getName()));
+ System.out.println("Default fields:");
+ // map default fields
+ mapProfile(profile, pfvSet, profileFieldManager.getDefaultFields());
+
+ System.out.println("Custom fields:");
+ // map custom fields
+ mapProfile(profile, pfvSet, profileFieldManager.getCustomFields());
+
+ // create unexisting fields
+ if (!profile.isEmpty()) {
+
+ for (String key : profile.keySet()) {
+ // add field
+ ProfileField field = new ProfileField();
+ field.setName(key);
+ field.setTypeID(ProfileField.Type.TEXT.getID());
+ field.setSearchable(true);
+ field.setVisible(true);
+ field.setEditable(true);
+ field.setDescription("en_US", key);
+ profileFieldManager.createProfileField(field);
+
+ // add profile var
+ ProfileFieldValue pfv = new ProfileFieldValue(field);
+
+ pfv.setValue(profile.get(key));
+
pfvSet.add(pfv);
}
}
@@ -204,6 +227,21 @@
}
}
+ private void mapProfile(Map<String, String> profile, Collection<ProfileFieldValue> pfvSet, List<ProfileField> fields) {
+ for (ProfileField pf : fields) {
+ System.out.println(pf);
+ if (profile.get(pf.getName()) != null) {
+ ProfileFieldValue pfv = new ProfileFieldValue(pf);
+ pfv.setValue(profile.get(pf.getName()));
+
+ pfvSet.add(pfv);
+
+ // remove field as added
+ profile.remove(pf.getName());
+ }
+ }
+ }
+
private UserTemplate mapDetails(UserTemplate ut, LabsUser nukeUser) {
ut.setEmail(nukeUser.getEmail());
ut.setFirstName(nukeUser.getFirstName());
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace/LabsUser.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace/LabsUser.java 2008-09-18 13:10:09 UTC (rev 22876)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace/LabsUser.java 2008-09-18 13:15:04 UTC (rev 22877)
@@ -17,7 +17,7 @@
public class LabsUser implements User, Cacheable {
private final static Permissions perms = new Permissions(Permissions.NONE);;
-
+
/**
*
*/
@@ -25,7 +25,7 @@
private Date creationDate;
private String email;
private long uID;
- private Date lastLoggedIn;
+ private Date lastLoggedIn;
private Date modifDate;
private String name;
private String passHash;
@@ -33,15 +33,20 @@
private String firstName;
private String lastName;
private Map<String, String> profile;
-
+ private boolean emailVisible;
+
public LabsUser() {
-
+
}
-
+
+ private boolean empty(String s) {
+ return s == null || s.length() == 0;
+ }
+
public LabsUser(ResultSet rs) throws SQLException {
creationDate = rs.getDate("pn_user_regdate");
email = rs.getString("pn_email");
- //uID = rs.getLong("pn_uid");
+ // uID = rs.getLong("pn_uid");
lastLoggedIn = rs.getDate("pn_last_visit");
modifDate = creationDate;
username = rs.getString("pn_uname");
@@ -49,12 +54,53 @@
passHash = rs.getString("pn_pass");
firstName = rs.getString("pn_fname");
lastName = rs.getString("pn_lname");
+ emailVisible = rs.getBoolean("pn_user_viewemail");
+
+ if (empty(firstName) || empty(lastName)) {
+ String realName = rs.getString("pn_name");
+
+ if (!empty(realName)) {
+ String[] tokens = realName.split("\\s");
+
+ if (empty(firstName)) {
+ firstName = tokens[0];
+ }
+
+ if (empty(lastName)) {
+ lastName = tokens[tokens.length - 1];
+ }
+ }
+ }
+
+ profile = new HashMap<String, String>();
+
+ profile.put("Home Address", rs.getString("pn_user_from"));
- profile = new HashMap<String, String>();
profile.put("Phone Number", rs.getString("pn_phone"));
-
+
+ profile.put("Alternative Email", rs.getString("pn_femail"));
+ profile.put("Your ICQ Number", rs.getString("pn_user_icq"));
+ profile.put("Your AIM Address", rs.getString("pn_user_aim"));
+ profile.put("Your YIM Number", rs.getString("pn_user_yim"));
+ profile.put("Your MSN Messanger", rs.getString("pn_user_msnm"));
+ profile.put("Home Address", rs.getString("pn_user_from"));
+
+ profile.put("Occupation", rs.getString("pn_user_occ"));
+ profile.put("Expertise", rs.getString("pn_user_intrest"));
+
+ profile.put("Company name", rs.getString("pn_cname"));
+ profile.put("Title", rs.getString("pn_title"));
+
+ profile.put("Company size", rs.getString("pn_companysize"));
+
+ profile.put("URL", rs.getString("pn_url"));
+
+ profile.put("Biography", rs.getString("pn_bio"));
+
+ profile.put("Type of Company", rs.getString("pn_usertype"));
+
}
-
+
public Map<String, String> getProfile() {
return profile;
}
@@ -102,7 +148,7 @@
public Map<String, String> getProperties() {
// TODO Auto-generated method stub
- return new HashMap<String, String>() ;
+ return new HashMap<String, String>();
}
public String getUsername() {
@@ -114,7 +160,7 @@
}
public boolean isEmailVisible() {
- return false;
+ return emailVisible;
}
public boolean isEnabled() {
@@ -170,7 +216,7 @@
}
public int getObjectType() {
- //TODO wth is it ?
+ // TODO wth is it ?
return 1;
}
@@ -191,7 +237,7 @@
u.setNameVisible(true);
u.setPassword(getPasswordHash());
u.setUsername(getUsername());
-
+
return u;
}
More information about the jboss-svn-commits
mailing list