[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