[jboss-svn-commits] JBL Code SVN: r23327 - in labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs: clearspace and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 6 10:15:40 EDT 2008


Author: szimano
Date: 2008-10-06 10:15:40 -0400 (Mon, 06 Oct 2008)
New Revision: 23327

Added:
   labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/migration/
   labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/migration/RewriteRuleGen.java
Modified:
   labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace/LabsUser.java
Log:
user profile translation

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-10-06 13:11:49 UTC (rev 23326)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/clearspace/LabsUser.java	2008-10-06 14:15:40 UTC (rev 23327)
@@ -16,6 +16,40 @@
 
 public class LabsUser implements User, Cacheable {
 
+	private static final String CLICK_HERE_FOR_JBOSS_NEWSLETTER = "Click here for JBoss Newsletter";
+
+	private static final String ADDRESS = "Address";
+
+	private static final String TYPE_OF_COMPANY = "Type of Company";
+
+	private static final String BIOGRAPHY = "Biography";
+
+	private static final String URL = "URL";
+
+	private static final String COMPANY_SIZE = "Company size";
+
+	private static final String TITLE = "Title";
+
+	private static final String COMPANY_NAME = "Company name";
+
+	private static final String EXPERTISE = "Expertise";
+
+	private static final String OCCUPATION = "Occupation";
+
+	private static final String YOUR_MSN_MESSANGER = "Your MSN Messanger";
+
+	private static final String YOUR_YIM_NUMBER = "Your YIM Number";
+
+	private static final String YOUR_AIM_ADDRESS = "Your AIM Address";
+
+	private static final String YOUR_ICQ_NUMBER = "Your ICQ Number";
+
+	private static final String ALTERNATIVE_EMAIL = "Alternative Email";
+
+	private static final String PHONE_NUMBER = "Phone Number";
+
+	private static final String HOME_ADDRESS = "Home Address";
+
 	private final static Permissions perms = new Permissions(Permissions.NONE);;
 
 	/**
@@ -34,9 +68,27 @@
 	private String lastName;
 	private Map<String, String> profile;
 	private boolean emailVisible;
+	private Map<String, Map<String, String>> profileDict;
 
 	public LabsUser() {
+		profileDict = new HashMap<String, Map<String, String>>();
+		addDict(CLICK_HERE_FOR_JBOSS_NEWSLETTER, "0", "No", "1", "Yes");
+		addDict(COMPANY_SIZE, "100_999", "100-999", "_20", "-20", "21_100", "21-100", "1000_", "1000-");
+	}
 
+	private void addDict(String field, String... fields) {
+		if (fields.length % 2 == 1) {
+			throw new IllegalArgumentException(
+					"Wrong nomber of fields for dict (must be even): "
+							+ fields.length);
+		}
+
+		Map<String, String> oneDict = new HashMap<String, String>();
+		for (int i = 0; i < fields.length; i += 2) {
+			oneDict.put(fields[i], fields[i + 1]);
+		}
+
+		profileDict.put(field, oneDict);
 	}
 
 	private boolean empty(String s) {
@@ -74,39 +126,60 @@
 
 		profile = new HashMap<String, String>();
 
-		profile.put("Home Address", rs.getString("pn_user_from"));
+		profile.put(PHONE_NUMBER, rs.getString("pn_phone"));
 
-		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("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("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 name", rs.getString("pn_cname"));
-		profile.put("Title", rs.getString("pn_title"));
+		profile.put(COMPANY_SIZE, rs.getString("pn_companysize"));
 
-		profile.put("Company size", rs.getString("pn_companysize"));
+		profile.put(URL, rs.getString("pn_url"));
 
-		profile.put("URL", rs.getString("pn_url"));
+		profile.put(BIOGRAPHY, rs.getString("pn_bio"));
 
-		profile.put("Biography", rs.getString("pn_bio"));
+		profile.put(TYPE_OF_COMPANY, rs.getString("pn_usertype"));
 
-		profile.put("Type of Company", rs.getString("pn_usertype"));
-
-		profile.put("Address", "street1:" + rs.getString("pn_street")
+		profile.put(ADDRESS, "street1:" + rs.getString("pn_street")
 				+ ",street2:,city:" + rs.getString("pn_city") + ",state:"
 				+ rs.getString("pn_state") + ",country:"
 				+ rs.getString("pn_country") + ",zip:" + rs.getString("pn_zip")
 				+ ",type:WORK");
+		
+		profile.put(CLICK_HERE_FOR_JBOSS_NEWSLETTER, rs.getString("pn_newsletter"));
 
+		profile = translateProfileFields(profile);
+
 	}
 
+	private Map<String, String> translateProfileFields(
+			Map<String, String> profile) {
+		Map<String, String> newProfile = new HashMap<String, String>();
+
+		for (String key : profile.keySet()) {
+			String translatedField;
+			if (profileDict.containsKey(key)
+					&& ((translatedField = profileDict.get(key).get(
+							profile.get(key))) != null)) {
+
+				newProfile.put(key, translatedField);
+			} else {
+				newProfile.put(key, profile.get(key));
+			}
+		}
+
+		return newProfile;
+	}
+
 	public Map<String, String> getProfile() {
 		return profile;
 	}

Added: labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/migration/RewriteRuleGen.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/migration/RewriteRuleGen.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nukes-login/src/main/java/org/jboss/labs/migration/RewriteRuleGen.java	2008-10-06 14:15:40 UTC (rev 23327)
@@ -0,0 +1,46 @@
+package org.jboss.labs.migration;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+public class RewriteRuleGen {
+
+	/**
+	 * @param args
+	 * @throws IOException 
+	 * @throws FileNotFoundException 
+	 */
+	public static void main(String[] args) throws FileNotFoundException, IOException {
+		if (args.length != 2) {
+			System.err.println("Specify properties file and a domain\nUSAGE\n\njava RewriteRuleGen <pages.properties> <redirect-to-domain>");
+			return;
+		}
+		
+		File propFile = new File(args[0]);
+		String domain = args[1];
+		
+		if (!propFile.exists()) {
+			System.err.println("Properties file doesn't exist");
+			return;
+		}
+		
+		Properties p = new Properties();
+		
+		p.load(new FileInputStream(propFile));
+		
+		Map<String, String> map = new HashMap<String, String>();
+		
+		System.out.println("RewriteRule / "+domain+" [R,L]");
+		for (Object k : p.keySet()) {
+			String key = (String)k;
+			
+			System.out.println("RewriteRule /wiki/.*"+key+"$ "+domain+"/community/docs/"+p.getProperty(key)+" [R,L]");
+		}
+	}
+
+}




More information about the jboss-svn-commits mailing list