Update of /cvsroot/openamf/openamf/src/java/org/openamf/config
In directory sc8-pr-cvs1:/tmp/cvs-serv3315/src/java/org/openamf/config
Modified Files:
ConfigDigester.java OpenAMFConfig.java
Added Files:
CustomClassMappingConfig.java
Log Message:
added the ability to map AMF Custom Classes to Java Classes
--- NEW FILE: CustomClassMappingConfig.java ---
package org.openamf.config;
public class CustomClassMappingConfig {
private String javaClassName;
private String customClassName;
public String getJavaClassName() {
return javaClassName;
}
public void setJavaClassName(String javaClassName) {
this.javaClassName = javaClassName;
}
public String getCustomClassName() {
return customClassName;
}
public void setCustomClassName(String customClassName) {
this.customClassName = customClassName;
}
public String toString() {
return "javaClassName: "
+ javaClassName
+ "\ncustomClassName: "
+ customClassName;
}
}
Index: ConfigDigester.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/config/ConfigDigester.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** ConfigDigester.java 28 May 2003 15:53:28 -0000 1.10
--- ConfigDigester.java 6 Jul 2003 17:27:34 -0000 1.11
***************
*** 10,13 ****
--- 10,14 ----
private static final String INVOKER_PATH = "config/invoker";
+ private static final String CUSTOM_CLASS_MAPPING_PATH = "config/custom-class-mapping";
private static final String PAGEABLE_RECORDSET_PATH = "config/pageable-recordset";
private static final String SERVICE_PATH = "config/service";
***************
*** 38,41 ****
--- 39,43 ----
addInvokerRules();
+ addCustomClassMappingRules();
addPageableRecordSetRules();
addServiceRules();
***************
*** 57,60 ****
--- 59,72 ----
addCallMethod(INVOKER_PATH + "/name", "setName", 0);
addCallMethod(INVOKER_PATH + "/class", "setClassName", 0);
+ }
+
+ private void addCustomClassMappingRules() {
+ addObjectCreate(CUSTOM_CLASS_MAPPING_PATH, CustomClassMappingConfig.class);
+ addSetNext(
+ CUSTOM_CLASS_MAPPING_PATH,
+ "addCustomClassMappingConfig",
+ "org.openamf.config.CustomClassMappingConfig");
+ addCallMethod(CUSTOM_CLASS_MAPPING_PATH + "/java-class", "setJavaClassName", 0);
+ addCallMethod(CUSTOM_CLASS_MAPPING_PATH + "/custom-class", "setCustomClassName", 0);
}
Index: OpenAMFConfig.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/config/OpenAMFConfig.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** OpenAMFConfig.java 10 Jun 2003 17:30:10 -0000 1.1
--- OpenAMFConfig.java 6 Jul 2003 17:27:34 -0000 1.2
***************
*** 5,13 ****
import java.util.Iterator;
public class OpenAMFConfig {
!
private static OpenAMFConfig config;
private HashMap serviceConfigs = new HashMap();
private PageableRecordsetConfig pageableRecordsetConfig;
private ArrayList serviceInvokerConfigs = new ArrayList();
--- 5,18 ----
import java.util.Iterator;
+ import org.apache.commons.logging.Log;
+ import org.apache.commons.logging.LogFactory;
+
public class OpenAMFConfig {
!
! private static Log log = LogFactory.getLog(OpenAMFConfig.class);
private static OpenAMFConfig config;
private HashMap serviceConfigs = new HashMap();
+ private ArrayList customClassMappingConfigs = new ArrayList();
private PageableRecordsetConfig pageableRecordsetConfig;
private ArrayList serviceInvokerConfigs = new ArrayList();
***************
*** 17,21 ****
//no public create
}
!
public static synchronized OpenAMFConfig getInstance() {
if (config == null) {
--- 22,26 ----
//no public create
}
!
public static synchronized OpenAMFConfig getInstance() {
if (config == null) {
***************
*** 24,28 ****
return config;
}
!
public void addServiceInvokerConfig(ServiceInvokerConfig serviceInvokerConfig) {
serviceInvokerConfigs.add(serviceInvokerConfig);
--- 29,33 ----
return config;
}
!
public void addServiceInvokerConfig(ServiceInvokerConfig serviceInvokerConfig) {
serviceInvokerConfigs.add(serviceInvokerConfig);
***************
*** 30,38 ****
public ServiceInvokerConfig getServiceInvokerConfig(String name) {
!
ServiceInvokerConfig serviceInvokerConfig = null;
!
for (Iterator i = getServiceInvokerConfigs(); i.hasNext();) {
! ServiceInvokerConfig sic = (ServiceInvokerConfig)i.next();
if (sic.getName().equals(name)) {
serviceInvokerConfig = sic;
--- 35,43 ----
public ServiceInvokerConfig getServiceInvokerConfig(String name) {
!
ServiceInvokerConfig serviceInvokerConfig = null;
!
for (Iterator i = getServiceInvokerConfigs(); i.hasNext();) {
! ServiceInvokerConfig sic = (ServiceInvokerConfig) i.next();
if (sic.getName().equals(name)) {
serviceInvokerConfig = sic;
***************
*** 42,50 ****
return serviceInvokerConfig;
}
!
public Iterator getServiceInvokerConfigs() {
return serviceInvokerConfigs.iterator();
}
public PageableRecordsetConfig getPageableRecordsetConfig() {
return pageableRecordsetConfig;
--- 47,94 ----
return serviceInvokerConfig;
}
!
public Iterator getServiceInvokerConfigs() {
return serviceInvokerConfigs.iterator();
}
+
+ public void addCustomClassMappingConfig(CustomClassMappingConfig customClassMappingConfig) {
+ customClassMappingConfigs.add(customClassMappingConfig);
+ }
+ public String getCustomClassName(String javaClassName) {
+ String customClassName = null;
+
+ log.debug("Looking for: " + javaClassName);
+ for (Iterator i = customClassMappingConfigs.iterator(); i.hasNext();) {
+ CustomClassMappingConfig ccm = (CustomClassMappingConfig) i.next();
+
+ String tempCCName = javaClassName;
+ if (ccm.getCustomClassName() != null) {
+ tempCCName = ccm.getCustomClassName();
+ }
+ log.debug("ccm.getCustomClassName(): " + ccm.getCustomClassName());
+ log.debug("ccm.getJavaClassName(): " + ccm.getJavaClassName());
+
+ if (ccm.getJavaClassName().equals(javaClassName)) {
+ customClassName = tempCCName;
+ break;
+ } else if (ccm.getJavaClassName().equals("*")) {
+ customClassName = tempCCName;
+ } else if (ccm.getJavaClassName().endsWith("*")) {
+ int starIndex = ccm.getJavaClassName().lastIndexOf('*');
+ String packageName = ccm.getJavaClassName().substring(0, starIndex);
+ if (javaClassName.startsWith(packageName)) {
+ customClassName = tempCCName;
+ }
+ }
+ }
+
+ return customClassName;
+ }
+
+ public Iterator getCustomClassMappingConfigs() {
+ return customClassMappingConfigs.iterator();
+ }
+
public PageableRecordsetConfig getPageableRecordsetConfig() {
return pageableRecordsetConfig;
***************
*** 67,71 ****
return serviceConfigs.values().iterator();
}
!
public void addStateBeanConfig(StateBeanConfig stateBeanConfig) {
stateBeanConfigs.put(stateBeanConfig.getName(), stateBeanConfig);
--- 111,115 ----
return serviceConfigs.values().iterator();
}
!
public void addStateBeanConfig(StateBeanConfig stateBeanConfig) {
stateBeanConfigs.put(stateBeanConfig.getName(), stateBeanConfig);
***************
*** 79,117 ****
return stateBeanConfigs.values().iterator();
}
!
public String toString() {
!
StringBuffer sb = new StringBuffer();
!
sb.append("\n=================\n");
sb.append("SERVICE INVOKERS\n");
sb.append("=================\n");
for (Iterator i = getServiceInvokerConfigs(); i.hasNext();) {
! ServiceInvokerConfig sic = (ServiceInvokerConfig)i.next();
sb.append(sic);
}
! sb.append("\nPageableRecordsetConfig\n");
sb.append(pageableRecordsetConfig);
-
sb.append("\n=========\n");
sb.append("SERVICES\n");
sb.append("=========\n");
for (Iterator i = getServiceConfigs(); i.hasNext();) {
! ServiceConfig sc = (ServiceConfig)i.next();
sb.append(sc);
}
!
sb.append("\n=========\n");
sb.append("STATE BEANS\n");
sb.append("=========\n");
for (Iterator i = getStateBeanConfigs(); i.hasNext();) {
! StateBeanConfig sbc = (StateBeanConfig)i.next();
sb.append(sbc);
}
!
return sb.toString();
! }
}
--- 123,169 ----
return stateBeanConfigs.values().iterator();
}
!
public String toString() {
!
StringBuffer sb = new StringBuffer();
!
sb.append("\n=================\n");
sb.append("SERVICE INVOKERS\n");
sb.append("=================\n");
for (Iterator i = getServiceInvokerConfigs(); i.hasNext();) {
! ServiceInvokerConfig sic = (ServiceInvokerConfig) i.next();
sb.append(sic);
}
! sb.append("\n=======================\n");
! sb.append("CUSTOM CLASS MAPPINGS\n");
! sb.append("=======================\n");
! for (Iterator i = getCustomClassMappingConfigs(); i.hasNext();) {
! CustomClassMappingConfig ccm = (CustomClassMappingConfig) i.next();
! sb.append(ccm);
! }
!
! sb.append("\n=======================\nPageableRecordsetConfig\n");
! sb.append("=======================\n");
sb.append(pageableRecordsetConfig);
sb.append("\n=========\n");
sb.append("SERVICES\n");
sb.append("=========\n");
for (Iterator i = getServiceConfigs(); i.hasNext();) {
! ServiceConfig sc = (ServiceConfig) i.next();
sb.append(sc);
}
!
sb.append("\n=========\n");
sb.append("STATE BEANS\n");
sb.append("=========\n");
for (Iterator i = getStateBeanConfigs(); i.hasNext();) {
! StateBeanConfig sbc = (StateBeanConfig) i.next();
sb.append(sbc);
}
!
return sb.toString();
! }
}
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.