KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > jsfmeta > eclipse > PropertyClassNameUtil


1 /*
2  * PropertyClassNameUtil to rematch CM model type
3  */

4
5 package com.icesoft.jsfmeta.eclipse;
6
7 import com.icesoft.jsfmeta.util.ConfigStorage;
8 import com.icesoft.jsfmeta.util.GeneratorUtil;
9 import java.util.Arrays JavaDoc;
10 import java.util.HashMap JavaDoc;
11 import java.util.HashSet JavaDoc;
12 import java.util.Iterator JavaDoc;
13 import java.util.Map JavaDoc;
14 import java.util.Properties JavaDoc;
15 import java.util.Set JavaDoc;
16
17 public class PropertyClassNameUtil {
18     
19     private Properties JavaDoc properties;
20     private Map JavaDoc propertyNameToTypeMap = new HashMap JavaDoc();
21     private Map JavaDoc propertyClassToTypeMap = new HashMap JavaDoc();
22     private Map JavaDoc propertyCategoryToTypeMap = new HashMap JavaDoc();
23     
24     public PropertyClassNameUtil(){
25         properties = loadProperties();
26         initMapping();
27     }
28     
29     
30     public Properties JavaDoc loadProperties(){
31         
32         String JavaDoc filePath = GeneratorUtil.getWorkingFolder()+ "conf/eclipse.schema/cm_type.properties";
33         Properties JavaDoc props = ConfigStorage.getInstance(filePath).loadProperties();
34         for(Iterator JavaDoc iterator = props.keySet().iterator(); iterator.hasNext();){
35             Object JavaDoc nextKey = iterator.next();
36         }
37         return props;
38     }
39     
40     public void initMapping(){
41         String JavaDoc[] propertyNames = new String JavaDoc[]{"style","styleClass","bgcolor","binding"};
42         String JavaDoc[] propertyTypes = new String JavaDoc[]{"CSSSTYLE","CSSCLASS","COLOR","PROPERTYBINDING"};
43         
44         for(int i=0; i< propertyNames.length; i++){
45             propertyNameToTypeMap.put(propertyNames[i], propertyTypes[i]);
46         }
47         
48         String JavaDoc[] propertyClasses = new String JavaDoc[]{"com.icesoft.faces.context.effects.Effect","boolean", "java.lang.Object", "javax.faces.el.MethodBinding"};
49         String JavaDoc[] propertyClassesToTypes = new String JavaDoc[]{"METHODBINDING","BOOLEAN", "METHODBINDING","METHODBINDING" };
50         
51         for(int i=0; i< propertyClasses.length; i++){
52             propertyClassToTypeMap.put(propertyClasses[i], propertyClassesToTypes[i]);
53         }
54         
55         String JavaDoc[] propertyCategories = new String JavaDoc[]{"javascript"};
56         String JavaDoc[] propertyCategroiesToTypes = new String JavaDoc[]{"JAVASCRIPT"};
57         
58         for(int i=0; i< propertyCategories.length; i++){
59             propertyClassToTypeMap.put(propertyCategories[i], propertyCategroiesToTypes[i]);
60         }
61
62     }
63     
64     //vwp metadata
65
private final static Set JavaDoc propertyClassHashSet = new HashSet JavaDoc(Arrays.asList(
66             new String JavaDoc[]{
67         "boolean","com.icesoft.faces.context.effects.Effect","int","java.lang.Object",
68         "java.lang.String","java.util.List","javax.faces.convert.Converter","javax.faces.el.MethodBinding"
69     }));
70     
71     //eclipse cm model property type keywords
72
private final static Set JavaDoc propertyTypeHashSet = new HashSet JavaDoc(Arrays.asList(
73             new String JavaDoc[]{
74         "BOOLEAN", "COLOR","CSSCLASS", "CSSSTYLE", "ENUMERATED",
75         "JAVASCRIPT", "METHODBINDING", "NAMED-BOOLEAN", "PROPERTYBINDING", "RELATIVEPATH", "WEBPATH"
76     }));
77     
78     
79     public static boolean isPropertyType(String JavaDoc name){
80         return propertyTypeHashSet.contains(name);
81     }
82     
83     public static boolean isPropertyClass(String JavaDoc name){
84         return propertyClassHashSet.contains(name);
85     }
86     
87     //eclipse a separate marker for editor class yet, so type is associated with editor
88
//
89
public String JavaDoc getMatchedName(String JavaDoc propertyClassName, String JavaDoc propertyCategoryName, String JavaDoc propertyName, String JavaDoc propertyEditor){
90         
91         if(propertyClassName != null){
92             propertyClassName = propertyClassName.trim();
93         }
94         
95         if(propertyCategoryName != null){
96             propertyCategoryName = propertyCategoryName.trim();
97         }
98         
99         if(propertyName != null){
100             propertyName = propertyName.trim();
101         }
102         
103         if((String JavaDoc)propertyNameToTypeMap.get(propertyName)!= null){
104             return (String JavaDoc)propertyNameToTypeMap.get(propertyName);
105         }
106         
107         if((String JavaDoc)propertyClassToTypeMap.get(propertyClassName)!= null){
108             return (String JavaDoc)propertyClassToTypeMap.get(propertyClassName);
109         }
110         
111         if((String JavaDoc)propertyCategoryToTypeMap.get(propertyCategoryName)!= null){
112             return (String JavaDoc)propertyCategoryToTypeMap.get(propertyCategoryName);
113         }
114         
115         if(propertyEditor != null && (String JavaDoc)properties.get(propertyEditor) != null){
116             return (String JavaDoc)properties.get(propertyEditor);
117         }
118      
119         return null;
120     }
121     
122 }
123
Free Books   Free Magazines  
Popular Tags