batchserver-cvs Mailing List for Enterprise Batch Server (Page 13)
Brought to you by:
suresh_pragada
You can subscribe to this list here.
2006 |
Jan
|
Feb
(10) |
Mar
(159) |
Apr
(5) |
May
(52) |
Jun
(70) |
Jul
|
Aug
(28) |
Sep
(256) |
Oct
(38) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Suresh <sur...@us...> - 2006-08-29 02:29:25
|
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/framework/config In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32164/framework/config Modified Files: ConfigurationExceptionTest.java JobConfigFactoryTest.java Log Message: no message Index: ConfigurationExceptionTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/framework/config/ConfigurationExceptionTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ConfigurationExceptionTest.java 13 Mar 2006 14:31:14 -0000 1.2 --- ConfigurationExceptionTest.java 29 Aug 2006 02:29:23 -0000 1.3 *************** *** 9,13 **** import junit.framework.*; ! import org.jmonks.batchserver.framework.common.ErrorCode; /** --- 9,13 ---- import junit.framework.*; ! import org.jmonks.batchserver.framework.ErrorCode; /** Index: JobConfigFactoryTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/framework/config/JobConfigFactoryTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JobConfigFactoryTest.java 11 Mar 2006 02:16:05 -0000 1.2 --- JobConfigFactoryTest.java 29 Aug 2006 02:29:23 -0000 1.3 *************** *** 12,16 **** import java.lang.reflect.InvocationTargetException; import java.util.Map; ! import org.jmonks.batchserver.framework.common.ErrorCode; /** --- 12,16 ---- import java.lang.reflect.InvocationTargetException; import java.util.Map; ! import org.jmonks.batchserver.framework.ErrorCode; /** |
From: Suresh <sur...@us...> - 2006-08-29 02:01:40
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/config/db In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21323/framework/config/db Modified Files: DBBasicJobControllerConfig.java DBPoolJobControllerConfig.java Log Message: no message Index: DBBasicJobControllerConfig.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/config/db/DBBasicJobControllerConfig.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** DBBasicJobControllerConfig.java 14 Mar 2006 23:04:09 -0000 1.8 --- DBBasicJobControllerConfig.java 29 Aug 2006 02:01:32 -0000 1.9 *************** *** 16,20 **** import java.sql.SQLException; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.common.FrameworkUtil; import org.jmonks.batchserver.framework.config.BasicJobControllerConfig; import org.jmonks.batchserver.framework.config.ConfigurationException; --- 16,20 ---- import java.sql.SQLException; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.util.FrameworkUtil; import org.jmonks.batchserver.framework.config.BasicJobControllerConfig; import org.jmonks.batchserver.framework.config.ConfigurationException; Index: DBPoolJobControllerConfig.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/config/db/DBPoolJobControllerConfig.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** DBPoolJobControllerConfig.java 14 Mar 2006 23:04:09 -0000 1.8 --- DBPoolJobControllerConfig.java 29 Aug 2006 02:01:32 -0000 1.9 *************** *** 16,20 **** import java.sql.SQLException; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.common.FrameworkUtil; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.config.PoolJobControllerConfig; --- 16,20 ---- import java.sql.SQLException; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.util.FrameworkUtil; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.config.PoolJobControllerConfig; |
From: Suresh <sur...@us...> - 2006-08-29 02:01:36
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/config/xml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21323/framework/config/xml Modified Files: XMLBasicJobControllerConfig.java XMLPoolJobControllerConfig.java Log Message: no message Index: XMLBasicJobControllerConfig.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/config/xml/XMLBasicJobControllerConfig.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** XMLBasicJobControllerConfig.java 14 Mar 2006 23:05:25 -0000 1.8 --- XMLBasicJobControllerConfig.java 29 Aug 2006 02:01:33 -0000 1.9 *************** *** 12,16 **** import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.common.FrameworkUtil; import org.jmonks.batchserver.framework.config.BasicJobControllerConfig; import org.jmonks.batchserver.framework.config.ConfigurationException; --- 12,16 ---- import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.util.FrameworkUtil; import org.jmonks.batchserver.framework.config.BasicJobControllerConfig; import org.jmonks.batchserver.framework.config.ConfigurationException; Index: XMLPoolJobControllerConfig.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/config/xml/XMLPoolJobControllerConfig.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** XMLPoolJobControllerConfig.java 14 Mar 2006 23:05:25 -0000 1.8 --- XMLPoolJobControllerConfig.java 29 Aug 2006 02:01:33 -0000 1.9 *************** *** 12,16 **** import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.common.FrameworkUtil; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.config.PoolJobControllerConfig; --- 12,16 ---- import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.util.FrameworkUtil; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.config.PoolJobControllerConfig; |
From: Suresh <sur...@us...> - 2006-08-29 02:01:35
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21323/framework Modified Files: Main.java Added Files: ErrorCode.java Log Message: no message Index: Main.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/Main.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Main.java 23 Aug 2006 14:53:55 -0000 1.13 --- Main.java 29 Aug 2006 02:01:33 -0000 1.14 *************** *** 4,9 **** import java.util.Map; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.common.ErrorCode; ! import org.jmonks.batchserver.framework.common.FrameworkUtil; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.config.FrameworkConfig; --- 4,9 ---- import java.util.Map; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.ErrorCode; ! import org.jmonks.batchserver.framework.util.FrameworkUtil; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.config.FrameworkConfig; --- NEW FILE: ErrorCode.java --- package org.jmonks.batchserver.framework; /** * <p> * The ErrorCode represents the error condition can generate in the system * and holds error code and message. This is also used to represent the status code * for any processor/controller/job. This is like a enum class to make sure * the exit codes being passed around the application are valid (defined) and * allows the flexibility to append the context specific messages to the error codes. * </p> * * @author Suresh Pragada * @version 1.0 * @since 1.0 */ public final class ErrorCode { public static final int FRAMEWORK_MAX_ERROR_CODE = 9999; /** * Code represents the error. */ private int code; /** * Message illustrates the code. */ private String message=null; /** * <p> * Protected constructor to make sure no instances will be created of this class * from outside of this class and it is extensible. * </p> * * @param code Code represents the error. * @param errorMsg Message illustrates the exit code. */ private ErrorCode(int code, String errorMsg) { this.code=code; this.message=errorMsg; } /** * Returns the error code represents the error. * * @return Returns the error code represents the error. */ public int getCode() { return this.code; } /** * Returns the error message illustrates the exit code. * * @return Returns the error message. */ public String getMessage() { return this.message; } /** * Creates a new ErorCode object with the same error code and appends the given * message to the existing message and returns that new error code. * * @param messageToBeAppended Message that needs to be appended to the existing message. * * @return Returns a new error code contains the same error code and appended message. */ public ErrorCode appendMessage(String messageToBeAppended) { return new ErrorCode(this.code, this.message+" " + messageToBeAppended); } /** * Creates a new error code by accepting the code and message. The code * should be greater than the value "9999", maximum range being used by the framework. * * @param newCode Code to be used to construct the ErrorCode. * @param newMessage Mesage to be used to construct the ErrorCode. * * @throws java.lang.IllegalArgumentException If given code is not greater than 9999. */ public static ErrorCode createErrorCode(int newCode, String newMessage) { if(newCode>ErrorCode.FRAMEWORK_MAX_ERROR_CODE) return new ErrorCode(newCode,newMessage); else throw new IllegalArgumentException("Code to create new ErrorCode should be greater than " + ErrorCode.FRAMEWORK_MAX_ERROR_CODE); } /** * Equality will be based on the code the two error codes contain. * * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object errorCode) { return (errorCode!=null) && (this.getClass()==errorCode.getClass()) && (this.code==((ErrorCode)errorCode).getCode()); } /** * Code represented by error code will be returned as a hash code. * * @see java.lang.Object#hashCode() */ public int hashCode() { return this.code; } /** * <p> * Returns the string representation of ErrorCode class in the format * <br> {ErrorCode [code = value] [message = value]} * </p> * * @return Returns the string representation of ErrorCode. */ public String toString() { StringBuffer stringValue=new StringBuffer("{ErrorCode "); stringValue.append("[code = " + this.code + "]"); stringValue.append("[message = " + this.message + "]"); stringValue.append("}"); return stringValue.toString(); } /** * Represents job got completed successfully. */ public static final ErrorCode JOB_COMPLETED_SUCCESSFULLY = new ErrorCode(0,"Job completed successfully."); /** * Represents job got completed with errors. This represents the partial success. */ public static final ErrorCode JOB_COMPLETED_WITH_ERRORS = new ErrorCode(1, "Job completed with some errors."); /** * Represents the configuration error used to invoke the job. */ public static final ErrorCode JOB_INVOKATION_CONFIGURAION_ERROR = new ErrorCode(1000,"Error while parsing the configuraion passed to invoke job."); /** * Represents the framework configuration error. */ public static final ErrorCode FRAMEWORK_CONFIGURATION_ERROR = new ErrorCode(1001,"Error while accessing or parsing the framework configuration file."); /** * Represents the job config factory configuration error. */ public static final ErrorCode JOB_CONFIG_FACTORY_CONFIGURATION_ERROR = new ErrorCode(1002,"Job configuration factory cannot be created by the given factory configuration."); /** * Represents the job configuration error. */ public static final ErrorCode JOB_CONFIGURATION_ERROR = new ErrorCode(1003,"Error while loading the job configuration from the defined factory."); /** * Represents the job is not configured error. */ public static final ErrorCode JOB_IS_NOT_CONFIGURED = new ErrorCode(1004,"Job is not configured"); /** * Represents the job controller configuration error. */ public static final ErrorCode JOB_CONTROLLER_CONFIGURATION_ERROR = new ErrorCode(1005,"Job controller configuration is not defined properly."); /** * Represents the logging configuration error. */ public static final ErrorCode JOB_LOGGING_CONFIGURATION_ERROR = new ErrorCode(1006,"Job logging configuration is not defined properly."); /** * Represents the repository configuration error. */ public static final ErrorCode JOB_REPOSITORY_CONFIGURATION_ERROR = new ErrorCode(1007,"Repository configuration in framework configuration is not defined properly."); /** * Represents the connector configuration error. */ public static final ErrorCode JOB_CONNECTOR_CONFIGURATION_ERROR = new ErrorCode(1008,"Repository configuration in framework configuration is not defined properly."); /** * Represents the unknown configuration error. */ public static final ErrorCode UNKNOWN_CONFIGURATION_ERROR = new ErrorCode(1009,"Configuration error related to unknown component."); /** * Represents error because of the exception in basic job processor. */ public static final ErrorCode BASIC_JOB_PROCESSOR_EXCEPTION = new ErrorCode(1102,"Basic Job Controller caught exception while executing process method on basic job processor."); /** * Represents error because of the exception in pool job loader. */ public static final ErrorCode POOL_JOB_LOADER_EXCEPTION = new ErrorCode(1201,"Exception while executing the loader to load the pool."); /** * Represents error because of the exception in pool job processor. */ public static final ErrorCode POOL_JOB_PROCESSOR_EXCEPTION = new ErrorCode(1202,"Exception while executing the processor to process the pool."); } |
From: Suresh <sur...@us...> - 2006-08-29 02:01:35
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/management In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21323/framework/management Modified Files: JobManagementAgent.java Log Message: no message Index: JobManagementAgent.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/management/JobManagementAgent.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JobManagementAgent.java 28 Mar 2006 04:55:18 -0000 1.2 --- JobManagementAgent.java 29 Aug 2006 02:01:33 -0000 1.3 *************** *** 10,14 **** import javax.management.remote.JMXConnectorServer; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.common.ErrorCode; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.controller.JobController; --- 10,14 ---- import javax.management.remote.JMXConnectorServer; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.ErrorCode; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.controller.JobController; |
From: Suresh <sur...@us...> - 2006-08-29 02:01:35
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller/pool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21323/framework/controller/pool Modified Files: AbstractPoolJobLoader.java AbstractPoolJobProcessor.java PoolJobController.java PoolJobLoader.java PoolJobProcessor.java Log Message: no message Index: PoolJobProcessor.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller/pool/PoolJobProcessor.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** PoolJobProcessor.java 17 May 2006 22:04:36 -0000 1.5 --- PoolJobProcessor.java 29 Aug 2006 02:01:32 -0000 1.6 *************** *** 2,6 **** import java.util.Map; ! import org.jmonks.batchserver.framework.common.ErrorCode; import org.jmonks.batchserver.framework.management.ProcessorStatus; --- 2,6 ---- import java.util.Map; ! import org.jmonks.batchserver.framework.ErrorCode; import org.jmonks.batchserver.framework.management.ProcessorStatus; Index: AbstractPoolJobLoader.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller/pool/AbstractPoolJobLoader.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** AbstractPoolJobLoader.java 17 May 2006 22:04:36 -0000 1.7 --- AbstractPoolJobLoader.java 29 Aug 2006 02:01:32 -0000 1.8 *************** *** 14,18 **** import java.util.Map; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.common.ErrorCode; import org.jmonks.batchserver.framework.management.ProcessorStatus; --- 14,18 ---- import java.util.Map; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.ErrorCode; import org.jmonks.batchserver.framework.management.ProcessorStatus; Index: PoolJobLoader.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller/pool/PoolJobLoader.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** PoolJobLoader.java 17 May 2006 22:04:36 -0000 1.6 --- PoolJobLoader.java 29 Aug 2006 02:01:32 -0000 1.7 *************** *** 1,5 **** package org.jmonks.batchserver.framework.controller.pool; import java.util.Map; ! import org.jmonks.batchserver.framework.common.ErrorCode; import org.jmonks.batchserver.framework.management.ProcessorStatus; --- 1,5 ---- package org.jmonks.batchserver.framework.controller.pool; import java.util.Map; ! import org.jmonks.batchserver.framework.ErrorCode; import org.jmonks.batchserver.framework.management.ProcessorStatus; Index: AbstractPoolJobProcessor.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller/pool/AbstractPoolJobProcessor.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AbstractPoolJobProcessor.java 17 May 2006 22:04:36 -0000 1.4 --- AbstractPoolJobProcessor.java 29 Aug 2006 02:01:32 -0000 1.5 *************** *** 3,7 **** import java.util.Map; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.common.ErrorCode; import org.jmonks.batchserver.framework.management.ProcessorStatus; --- 3,7 ---- import java.util.Map; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.ErrorCode; import org.jmonks.batchserver.framework.management.ProcessorStatus; Index: PoolJobController.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller/pool/PoolJobController.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** PoolJobController.java 24 May 2006 14:33:59 -0000 1.11 --- PoolJobController.java 29 Aug 2006 02:01:32 -0000 1.12 *************** *** 9,13 **** import org.apache.log4j.Logger; import org.jmonks.batchserver.framework.JobStatistics; ! import org.jmonks.batchserver.framework.common.ErrorCode; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.config.PoolJobControllerConfig; --- 9,13 ---- import org.apache.log4j.Logger; import org.jmonks.batchserver.framework.JobStatistics; ! import org.jmonks.batchserver.framework.ErrorCode; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.config.PoolJobControllerConfig; |
From: Suresh <sur...@us...> - 2006-08-29 02:01:35
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21323/framework/controller Modified Files: JobController.java Log Message: no message Index: JobController.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller/JobController.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** JobController.java 24 May 2006 14:33:59 -0000 1.10 --- JobController.java 29 Aug 2006 02:01:33 -0000 1.11 *************** *** 4,8 **** import org.jmonks.batchserver.framework.JobStatistics; import org.jmonks.batchserver.framework.LoggingManager; ! import org.jmonks.batchserver.framework.common.ErrorCode; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.config.JobControllerConfig; --- 4,8 ---- import org.jmonks.batchserver.framework.JobStatistics; import org.jmonks.batchserver.framework.LoggingManager; ! import org.jmonks.batchserver.framework.ErrorCode; import org.jmonks.batchserver.framework.config.ConfigurationException; import org.jmonks.batchserver.framework.config.JobControllerConfig; |
From: Suresh <sur...@us...> - 2006-08-29 02:01:35
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/config In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21323/framework/config Modified Files: ConfigurationException.java FrameworkConfig.java Log Message: no message Index: FrameworkConfig.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/config/FrameworkConfig.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** FrameworkConfig.java 28 Mar 2006 04:46:51 -0000 1.10 --- FrameworkConfig.java 29 Aug 2006 02:01:32 -0000 1.11 *************** *** 18,22 **** import javax.xml.parsers.ParserConfigurationException; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.common.FrameworkUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; --- 18,22 ---- import javax.xml.parsers.ParserConfigurationException; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.util.FrameworkUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; Index: ConfigurationException.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/config/ConfigurationException.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** ConfigurationException.java 24 May 2006 14:33:59 -0000 1.11 --- ConfigurationException.java 29 Aug 2006 02:01:32 -0000 1.12 *************** *** 1,4 **** package org.jmonks.batchserver.framework.config; ! import org.jmonks.batchserver.framework.common.ErrorCode; /** --- 1,4 ---- package org.jmonks.batchserver.framework.config; ! import org.jmonks.batchserver.framework.ErrorCode; /** |
From: Suresh <sur...@us...> - 2006-08-29 02:01:35
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/common In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21323/framework/common Removed Files: ErrorCode.java FrameworkUtil.java Log Message: no message --- FrameworkUtil.java DELETED --- --- ErrorCode.java DELETED --- |
From: Suresh <sur...@us...> - 2006-08-29 02:01:35
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/util In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21323/framework/util Added Files: FrameworkUtil.java Log Message: no message --- NEW FILE: FrameworkUtil.java --- package org.jmonks.batchserver.framework.util; import java.util.Map; import java.util.StringTokenizer; import java.util.logging.Logger; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; /** * <p> * FramworkUtil contains utility methods required by the framework. * </p> * <p> * Note : This class does not maintain any state. Keep all the methods as static * </p> * * @author Suresh Pragada * @version 1.0 * @since 1.0 */ public final class FrameworkUtil { private static Logger logger=Logger.getLogger(FrameworkUtil.class.getName()); /** * Private constructor to make sure it will not be instantiated. */ private FrameworkUtil() { /** * Just to make sure this class will not be instantiated. */ } /** * <p> * Loads the property elements exists in the given element to the given map. * This looks for the <property> elements in the given element and looks * for the value of "key" attribute and the values of <property> element * and load them as key values pairs. * </p> * <p> * Property elements should be in the following format.<br><br> * <property key="some-config-key1">some-config-value1</property> * </p> * * @param configElement DOM Element consists of <property> elements. * @param propertyMap Map to be loaded with property key values. * * @throws IllegalArgumentException If either configElement or propertyMap is null. */ public static void loadPropertiesFromElementToMap(Element configElement,Map propertyMap) { logger.entering(FrameworkUtil.class.getName(),"loadPropertiesFromElementToMap"); if(configElement==null) throw new IllegalArgumentException("Input configuration element configElement cannot be null"); if(propertyMap==null) throw new IllegalArgumentException("Input properties map propertyMap cannot be null"); NodeList propertyElements=configElement.getElementsByTagName("property"); for(int i=0;i<propertyElements.getLength();i++) { Element propertyElement=(Element)propertyElements.item(i); String key=propertyElement.getAttribute("key"); String value=""; NodeList propertyValueNodes=propertyElement.getChildNodes(); for(int j=0;j<propertyValueNodes.getLength();j++) { Node propertyValueNode=propertyValueNodes.item(j); if(propertyValueNode.getNodeType()==Node.TEXT_NODE || propertyValueNode.getNodeType()==Node.CDATA_SECTION_NODE) { value=propertyValueNode.getNodeValue(); break; } } propertyMap.put(key,value); } logger.exiting(FrameworkUtil.class.getName(),"loadPropertiesFromElementToMap"); } /** * <p> * Loads the property key value pairs exists in the given string to the given map. * This looks for the properties in concantenated by ":" and each property in turn * concatenated by "=". * </p> * <p> * Property elements should be in the following format.<br><br> * key1=value1:key2=value2 * </p> * * @param propertiesString String consists of properties. * @param propertyMap Map to be loaded with property key values. * * @throws IllegalArgumentException If either propertiesString or propertyMap is null. */ public static void loadPropertiesFromStringToMap(String propertiesString,Map propertyMap) { logger.entering(FrameworkUtil.class.getName(),"loadPropertiesFromStringToMap"); if(propertiesString==null) throw new IllegalArgumentException("Input properties string cannot be null"); if(propertyMap==null) throw new IllegalArgumentException("Input properties map propertyMap cannot be null"); StringTokenizer propertiesTokenizer=new StringTokenizer(propertiesString,":"); while(propertiesTokenizer.hasMoreTokens()) { String property=propertiesTokenizer.nextToken(); if(property!=null && !"".equals(property.trim())) { StringTokenizer propertyTokenizer=new StringTokenizer(property,"="); String key=propertyTokenizer.nextToken(); String value=propertyTokenizer.nextToken(); propertyMap.put(key,value); } } logger.exiting(FrameworkUtil.class.getName(),"loadPropertiesFromStringToMap"); } } |
From: Suresh <sur...@us...> - 2006-08-29 02:01:34
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller/basic In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21323/framework/controller/basic Modified Files: BasicJobController.java BasicJobProcessor.java Log Message: no message Index: BasicJobProcessor.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller/basic/BasicJobProcessor.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** BasicJobProcessor.java 19 May 2006 18:55:17 -0000 1.9 --- BasicJobProcessor.java 29 Aug 2006 02:01:32 -0000 1.10 *************** *** 2,6 **** import java.util.Map; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.common.ErrorCode; import org.jmonks.batchserver.framework.management.ProcessorStatus; --- 2,6 ---- import java.util.Map; import org.apache.log4j.Logger; ! import org.jmonks.batchserver.framework.ErrorCode; import org.jmonks.batchserver.framework.management.ProcessorStatus; Index: BasicJobController.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/controller/basic/BasicJobController.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** BasicJobController.java 24 May 2006 14:33:59 -0000 1.11 --- BasicJobController.java 29 Aug 2006 02:01:32 -0000 1.12 *************** *** 10,14 **** import org.apache.log4j.Logger; import org.jmonks.batchserver.framework.JobStatistics; ! import org.jmonks.batchserver.framework.common.ErrorCode; import org.jmonks.batchserver.framework.config.BasicJobControllerConfig; import org.jmonks.batchserver.framework.config.ConfigurationException; --- 10,14 ---- import org.apache.log4j.Logger; import org.jmonks.batchserver.framework.JobStatistics; ! import org.jmonks.batchserver.framework.ErrorCode; import org.jmonks.batchserver.framework.config.BasicJobControllerConfig; import org.jmonks.batchserver.framework.config.ConfigurationException; |
From: Suresh <sur...@us...> - 2006-08-29 02:00:40
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/util In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20844/util Log Message: Directory /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/util added to the repository |
From: Suresh <sur...@us...> - 2006-08-24 20:06:52
|
Update of /cvsroot/batchserver/batchserver In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16495 Modified Files: build_io.xml Log Message: no message Index: build_io.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/build_io.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** build_io.xml 23 Aug 2006 00:05:13 -0000 1.4 --- build_io.xml 24 Aug 2006 20:06:46 -0000 1.5 *************** *** 114,121 **** basedir="${build.home}"> <manifest> ! <attribute name="Project Name" value="IO Services"/> ! <attribute name="Project Version" value="1.0 Final"/> ! <attribute name="Project Vendor" value="JMonks(http://jmonks.org)"/> ! <attribute name="Built-By" value="Suresh Pragada"/> </manifest> </jar> --- 114,120 ---- basedir="${build.home}"> <manifest> ! <attribute name="Implementation-Title" value="IO Services"/> ! <attribute name="Implementation-Version" value="1.0"/> ! <attribute name="Implementation-Vendor" value="JMonks(http://jmonks.org)"/> </manifest> </jar> |
From: Suresh <sur...@us...> - 2006-08-23 14:54:33
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/common In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv14059 Modified Files: ErrorCode.java Log Message: no message Index: ErrorCode.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/common/ErrorCode.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** ErrorCode.java 24 May 2006 14:33:59 -0000 1.18 --- ErrorCode.java 23 Aug 2006 14:54:12 -0000 1.19 *************** *** 16,19 **** --- 16,20 ---- public final class ErrorCode { + public static final int FRAMEWORK_MAX_ERROR_CODE = 9999; /** * Code represents the error. *************** *** 73,76 **** --- 74,95 ---- return new ErrorCode(this.code, this.message+" " + messageToBeAppended); } + + /** + * Creates a new error code by accepting the code and message. The code + * should be greater than the value "9999", maximum range being used by the framework. + * + * @param newCode Code to be used to construct the ErrorCode. + * @param newMessage Mesage to be used to construct the ErrorCode. + * + * @throws java.lang.IllegalArgumentException If given code is not greater than 9999. + */ + public static ErrorCode createErrorCode(int newCode, String newMessage) + { + if(newCode>ErrorCode.FRAMEWORK_MAX_ERROR_CODE) + return new ErrorCode(newCode,newMessage); + else + throw new IllegalArgumentException("Code to create new ErrorCode should be greater than " + + ErrorCode.FRAMEWORK_MAX_ERROR_CODE); + } /** *************** *** 172,179 **** */ public static final ErrorCode POOL_JOB_PROCESSOR_EXCEPTION = new ErrorCode(1202,"Exception while executing the processor to process the pool."); - /** - * Rpresents miscellaneous Error codes. - */ - public static final ErrorCode CUSTOM_ERROR_CODE = new ErrorCode(1301, "Custom Error Message = "); } --- 191,194 ---- |
From: Suresh <sur...@us...> - 2006-08-23 14:54:04
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv13707 Modified Files: Main.java Log Message: no message Index: Main.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/framework/Main.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Main.java 24 May 2006 14:33:59 -0000 1.12 --- Main.java 23 Aug 2006 14:53:55 -0000 1.13 *************** *** 31,38 **** * @since 1.0 */ ! public class Main { private static Logger logger=Logger.getLogger(Main.class); ! /** * <p> --- 31,44 ---- * @since 1.0 */ ! public final class Main { private static Logger logger=Logger.getLogger(Main.class); ! ! /** ! * Restrict the temptation of creating the instance of Main. ! */ ! private Main() ! { ! } /** * <p> |
From: Suresh <sur...@us...> - 2006-08-23 00:05:23
|
Update of /cvsroot/batchserver/batchserver In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv11873 Modified Files: build_io.xml Log Message: no message Index: build_io.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/build_io.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** build_io.xml 13 Jun 2006 22:09:35 -0000 1.3 --- build_io.xml 23 Aug 2006 00:05:13 -0000 1.4 *************** *** 112,116 **** <!-- Create application JAR file --> <jar jarfile="${dist.home}/${app.name}-${app.version}.jar" ! basedir="${build.home}"/> </target> --- 112,123 ---- <!-- Create application JAR file --> <jar jarfile="${dist.home}/${app.name}-${app.version}.jar" ! basedir="${build.home}"> ! <manifest> ! <attribute name="Project Name" value="IO Services"/> ! <attribute name="Project Version" value="1.0 Final"/> ! <attribute name="Project Vendor" value="JMonks(http://jmonks.org)"/> ! <attribute name="Built-By" value="Suresh Pragada"/> ! </manifest> ! </jar> </target> |
From: Suresh <sur...@us...> - 2006-08-22 23:43:15
|
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv2207 Modified Files: FileSpecTest.java Log Message: no message Index: FileSpecTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io/FileSpecTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FileSpecTest.java 2 Jun 2006 04:40:50 -0000 1.1 --- FileSpecTest.java 22 Aug 2006 23:43:12 -0000 1.2 *************** *** 9,26 **** import junit.framework.*; ! import java.io.File; ! import java.io.FileInputStream; ! import java.io.FileNotFoundException; ! import java.io.IOException; ! import java.io.InputStream; ! import java.util.ArrayList; ! import java.util.List; ! import javax.xml.parsers.DocumentBuilder; ! import javax.xml.parsers.DocumentBuilderFactory; ! import javax.xml.parsers.ParserConfigurationException; ! import org.apache.log4j.Logger; ! import org.w3c.dom.Document; ! import org.w3c.dom.Element; ! import org.xml.sax.SAXException; /** --- 9,14 ---- import junit.framework.*; ! import org.jmonks.batchserver.io.flat.FixedWidthFlatFileFileSpec; ! /** *************** *** 57,61 **** { System.out.println("testCreateFileSpec"); ! FileSpec fileSpec=FileSpec.createFileSpec("C:\\workspace\\workarea\\openapp\\batchserver\\src\\org\\jmonks\\batchserver\\io\\payment-file-spec.xml"); assertNotNull(fileSpec); System.out.println(fileSpec.toString()); --- 45,49 ---- { System.out.println("testCreateFileSpec"); ! FileSpec fileSpec=FileSpec.createFileSpec(FixedWidthFlatFileFileSpec.class.getResourceAsStream("sample-fixed-width-file-spec.xml")); assertNotNull(fileSpec); System.out.println(fileSpec.toString()); |
From: Suresh <sur...@us...> - 2006-08-22 23:43:04
|
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io/xml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv1846 Modified Files: TestStax.java XMLFileReaderTest.java XMLFileWriterTest.java Log Message: no message Index: XMLFileReaderTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io/xml/XMLFileReaderTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** XMLFileReaderTest.java 6 Jun 2006 21:23:59 -0000 1.1 --- XMLFileReaderTest.java 22 Aug 2006 23:43:01 -0000 1.2 *************** *** 8,13 **** --- 8,17 ---- package org.jmonks.batchserver.io.xml; + import java.io.FileInputStream; + import java.util.Iterator; + import java.util.List; import junit.framework.*; import org.jmonks.batchserver.io.*; + import org.jmonks.batchserver.io.xml.XMLFileReader.XMLReaderRecord; /** *************** *** 41,51 **** * Test of getNextRecord method, of class org.jmonks.batchserver.io.xml.XMLFileReader. */ ! public void testGetNextRecord() { System.out.println("testGetNextRecord"); ! FileReader fileReader=FileReader.getFileReader("D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\xml\\sample-xml-file_1.xml", "D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\xml\\sample-xml-file-spec.xml"); ReaderRecord readerRecord=null; while((readerRecord=fileReader.getNextRecord())!=null) ! System.out.println(readerRecord); fileReader.close(); } --- 45,108 ---- * Test of getNextRecord method, of class org.jmonks.batchserver.io.xml.XMLFileReader. */ ! public void testGetNextRecord() throws Exception { System.out.println("testGetNextRecord"); ! FileReader fileReader=FileReader.getFileReader(new FileInputStream("C:\\sample-xml-file_2.xml"),this.getClass().getResourceAsStream("sample-xml-file-spec.xml")); ! ReaderRecord readerRecord=null; while((readerRecord=fileReader.getNextRecord())!=null) ! { ! if(readerRecord.getRecordType().equals(RecordType.HEADER)) ! { ! // Simple elements in the records can be read using either readFiled or readSimpleElement. ! String fileType=(String)readerRecord.readField("file-type"); ! System.out.println("File type in header record = " + fileType); ! } ! else if(readerRecord.getRecordType().equals(RecordType.TRAILER)) ! { ! // Trying to show that simple elements can be read using readSimpleElement. ! String transactionCount=((XMLReaderRecord)readerRecord).readSimpleElement("transaction-count"); ! System.out.println(transactionCount); ! } ! else if(readerRecord.getRecordType().equals(RecordType.DETAIL)) ! { ! XMLReaderRecord xmlDetailRecord=(XMLReaderRecord)readerRecord; ! ! // Simple elements can be read using readSimpleElement method. ! String firstName=xmlDetailRecord.readSimpleElement("first-name"); ! String lastName=xmlDetailRecord.readSimpleElement("last-name"); ! System.out.println(firstName + " " + lastName); ! ! // Nested elements can be read using readComplexElement method. ! XMLReaderRecord deptInfoComplexRecord=(XMLReaderRecord)xmlDetailRecord.readComplexElement("dept-info"); ! String deptName=deptInfoComplexRecord.readSimpleElement("dept-name"); ! String deptLocation=deptInfoComplexRecord.readSimpleElement("dept-location"); ! System.out.println(deptName + " " + deptLocation); ! ! XMLReaderRecord addressesComplexRecord=(XMLReaderRecord)xmlDetailRecord.readComplexElement("addresses"); ! List addressesRepeatList=addressesComplexRecord.readRepeatElement("address"); ! for(Iterator iterator=addressesRepeatList.iterator();iterator.hasNext();) ! { ! Object addressRecord=iterator.next(); ! if(addressRecord instanceof XMLReaderRecord) ! { ! XMLReaderRecord addressComplexRecord=(XMLReaderRecord)addressRecord; ! String addressType=addressComplexRecord.readSimpleElement("address-type"); ! String city=addressComplexRecord.readSimpleElement("city"); ! String zipCode=addressComplexRecord.readSimpleElement("zip-code"); ! System.out.println(addressType + " " + city + " " + zipCode); ! } ! else if(addressRecord instanceof String) ! { ! System.out.println((String)addressRecord); ! } ! else ! System.out.println("Unknown type."); ! ! } ! } ! else ! System.out.println("Unknown record type = " + readerRecord.getRecordType().toString()); ! } fileReader.close(); } Index: XMLFileWriterTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io/xml/XMLFileWriterTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** XMLFileWriterTest.java 16 Aug 2006 18:07:48 -0000 1.3 --- XMLFileWriterTest.java 22 Aug 2006 23:43:01 -0000 1.4 *************** *** 49,90 **** { System.out.println("testWriterRecord"); ! FileWriter fileWriter=FileWriter.getFileWriter(new FileOutputStream("D:\\sample-xml-file_2.xml"), new FileInputStream("D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\xml\\sample-xml-file-spec.xml")); ! XMLWriterRecord mainRecord=(XMLWriterRecord)fileWriter.createWriterRecord(RecordType.DETAIL); ! mainRecord.writeSimpleElement("sample-field1", "sample-value1"); ! XMLWriterRecord acctInfoRecord=(XMLWriterRecord)mainRecord.createComplexElement("complex-sample-field2"); ! acctInfoRecord.writeSimpleElement("sample-field3", "sample-value3"); ! XMLWriterRecord tokensRecord=(XMLWriterRecord)acctInfoRecord.createComplexElement("complex-sample-field4"); ! List tokenList=tokensRecord.createRepeatElement("repeat-sample-field5"); ! XMLWriterRecord token1=(XMLWriterRecord)acctInfoRecord.createComplexElement(); ! token1.writeSimpleElement("sample-field6","sample-value6"); ! token1.writeSimpleElement("sample-field7","sample-value7"); ! XMLWriterRecord token2=(XMLWriterRecord)acctInfoRecord.createComplexElement(); ! token2.writeSimpleElement("sample-field6","sample-value6"); ! token2.writeSimpleElement("sample-field7","sample-value7"); - tokenList.add(token1); - tokenList.add(token2); - tokenList.add("sample-value8"); ! XMLWriterRecord token3=(XMLWriterRecord)acctInfoRecord.createComplexElement(); ! List subTokenList=token3.createRepeatElement("repeat-sample-field9"); ! XMLWriterRecord subToken1=(XMLWriterRecord)token3.createComplexElement(); ! subToken1.writeSimpleElement("sample-field10","sample-value10"); ! subToken1.writeSimpleElement("sample-field11","sample-value11"); ! ! XMLWriterRecord subToken2=(XMLWriterRecord)token3.createComplexElement(); ! subToken2.writeSimpleElement("sample-field10","sample-value10"); ! subToken2.writeSimpleElement("sample-field11","sample-value11"); ! subTokenList.add(subToken1); ! subTokenList.add(subToken2); ! tokenList.add(token3); - fileWriter.writeRecord(mainRecord); fileWriter.close(); } --- 49,104 ---- { System.out.println("testWriterRecord"); ! //FileWriter fileWriter=FileWriter.getFileWriter(new FileOutputStream("D:\\sample-xml-file_2.xml"), new FileInputStream("D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\xml\\sample-xml-file-spec.xml")); ! ! // Get the file writer by providing the output stream to write the xml file and input stream to file spec. ! FileWriter fileWriter=FileWriter.getFileWriter(new FileOutputStream("C:\\sample-xml-file_2.xml"), this.getClass().getResourceAsStream("sample-xml-file-spec.xml")); ! ! // Create and write the header record. ! XMLWriterRecord headerRecord=(XMLWriterRecord)fileWriter.createWriterRecord(RecordType.HEADER); ! headerRecord.writeSimpleElement("file-type", "Employee Records"); ! fileWriter.writeRecord(headerRecord); ! // Get the empty record you want to create by passing the record type you mentioned in file spec. ! XMLWriterRecord detailRecord=(XMLWriterRecord)fileWriter.createWriterRecord(RecordType.DETAIL); ! // Write the simple elements using either writeField or writeSimpleElement methods. ! detailRecord.writeSimpleElement("first-name", "Suresh"); ! detailRecord.writeField("last-name", "Pragada"); ! // Create the nested record by passing the nested element name. This automatically attached to detail record. No need to write it back to detail record. ! XMLWriterRecord deptComplexRecord=(XMLWriterRecord)detailRecord.createComplexElement("dept-info"); ! deptComplexRecord.writeSimpleElement("dept-name", "IT"); ! deptComplexRecord.writeSimpleElement("dept-location", "LOC1"); ! XMLWriterRecord addressesComplexRecord=(XMLWriterRecord)detailRecord.createComplexElement("addresses"); ! // Get the list to add all the elements needs to be written with the given name. ! List addressRepeatList=addressesComplexRecord.createRepeatElement("address"); ! // Empty nested element record can be created using any XMLWriterRecord instance. ! XMLWriterRecord homeAddressComplexRecord=(XMLWriterRecord)addressesComplexRecord.createComplexElement(); ! homeAddressComplexRecord.writeSimpleElement("address-type", "home"); ! homeAddressComplexRecord.writeSimpleElement("city", "Menomonee Falls"); ! homeAddressComplexRecord.writeSimpleElement("zip-code", "53051"); ! addressRepeatList.add(homeAddressComplexRecord); ! // Empty nested element record can be created using any XMLWriterRecord instance. ! XMLWriterRecord officeAddressComplexRecord=(XMLWriterRecord)addressesComplexRecord.createComplexElement(); ! officeAddressComplexRecord.writeSimpleElement("address-type", "office"); ! officeAddressComplexRecord.writeSimpleElement("city", "Menomonee Falls"); ! officeAddressComplexRecord.writeSimpleElement("zip-code", "53051"); ! addressRepeatList.add(officeAddressComplexRecord); ! // Feel free to drop simple elements value as well. ! addressRepeatList.add("Unidentified"); ! ! // Write the finished record into the file. ! fileWriter.writeRecord(detailRecord); ! ! // Create and write the trailer record. ! XMLWriterRecord trailerRecord=(XMLWriterRecord)fileWriter.createWriterRecord(RecordType.TRAILER); ! trailerRecord.writeSimpleElement("transaction-count", "1"); ! fileWriter.writeRecord(trailerRecord); fileWriter.close(); } Index: TestStax.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io/xml/TestStax.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestStax.java 6 Jun 2006 21:23:59 -0000 1.1 --- TestStax.java 22 Aug 2006 23:43:01 -0000 1.2 *************** *** 12,15 **** --- 12,16 ---- import java.io.FileNotFoundException; import java.util.ArrayList; + import java.util.Collection; import java.util.HashMap; import java.util.Iterator; *************** *** 139,144 **** public static void main(String args[]) throws Exception { ! org.jmonks.batchserver.io.FileSpec fileSpec=org.jmonks.batchserver.io.FileSpec.createFileSpec("D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\xml\\sample-xml-file-spec.xml"); ! TestStax stax=new TestStax("D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\xml\\sample-xml-file_1.xml",fileSpec); } --- 140,145 ---- public static void main(String args[]) throws Exception { ! org.jmonks.batchserver.io.FileSpec fileSpec=org.jmonks.batchserver.io.FileSpec.createFileSpec(TestStax.class.getResourceAsStream("sample-xml-file-spec.xml")); ! TestStax stax=new TestStax("C:\\sample-xml-file.xml",fileSpec); } *************** *** 173,177 **** private XMLRecordSpec getRecordSpec() { ! List recordSpecs=this.fileSpec.getRecordSpecs(); for(Iterator iterator=recordSpecs.iterator();iterator.hasNext();) { --- 174,178 ---- private XMLRecordSpec getRecordSpec() { ! Collection recordSpecs=this.fileSpec.getRecordSpecs(); for(Iterator iterator=recordSpecs.iterator();iterator.hasNext();) { |
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io/flat In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv1822 Modified Files: FixedWidthFlatFileReaderTest.java FixedWidthFlatFileWriterTest.java Added Files: DelimitedFlatFileReaderTest.java DelimitedFlatFileWriterTest.java Log Message: no message Index: FixedWidthFlatFileReaderTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io/flat/FixedWidthFlatFileReaderTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FixedWidthFlatFileReaderTest.java 6 Jun 2006 21:21:17 -0000 1.1 --- FixedWidthFlatFileReaderTest.java 22 Aug 2006 23:42:48 -0000 1.2 *************** *** 8,22 **** package org.jmonks.batchserver.io.flat; - import junit.framework.*; - import java.io.BufferedReader; - import java.io.File; import java.io.FileInputStream; ! import java.io.IOException; ! import java.io.InputStreamReader; ! import java.util.HashMap; ! import java.util.Iterator; ! import java.util.List; ! import java.util.Map; ! import org.apache.log4j.Logger; import org.jmonks.batchserver.io.*; --- 8,13 ---- package org.jmonks.batchserver.io.flat; import java.io.FileInputStream; ! import junit.framework.*; import org.jmonks.batchserver.io.*; *************** *** 51,59 **** * Test of getNextRecord method, of class org.jmonks.batchserver.io.FixedWidthFlatFileReader. */ ! public void testGetNextRecord() { System.out.println("testGetNextRecord"); ! FileReader fileReader=FileReader.getFileReader("D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\payment.pmt", ! "D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\payment-file-spec.xml"); ReaderRecord record=null; while((record=fileReader.getNextRecord())!=null) --- 42,50 ---- * Test of getNextRecord method, of class org.jmonks.batchserver.io.FixedWidthFlatFileReader. */ ! public void testGetNextRecord() throws Exception { System.out.println("testGetNextRecord"); ! FileReader fileReader=FileReader.getFileReader(new FileInputStream("C:\\sample_fixed.dat"), ! this.getClass().getResourceAsStream("sample-fixed-width-file-spec.xml")); ReaderRecord record=null; while((record=fileReader.getNextRecord())!=null) *************** *** 61,69 **** if(record.getRecordType()==RecordType.DETAIL) { ! System.out.print(record.readField("pmtId") + " "); ! System.out.print(record.readField("pmtAmt") + " "); ! System.out.print(record.readField("mpaId") + " "); ! System.out.print(record.readField("pmId")); ! System.out.println(); } else --- 52,67 ---- if(record.getRecordType()==RecordType.DETAIL) { ! System.out.println(record.readField("field1") + " "); ! System.out.println(record.readField("field2") + " "); ! System.out.println(record.readField("field3") + " "); ! System.out.println(record.readField("field4")); ! } ! else if(record.getRecordType()==RecordType.HEADER) ! { ! System.out.println(record.readField("timestamp")); ! } ! else if(record.getRecordType()==RecordType.TRAILER) ! { ! System.out.println(record.readField("recordCount")); } else --- NEW FILE: DelimitedFlatFileReaderTest.java --- /* * FixedWidthFlatFileReaderTest.java * JUnit based test * * Created on June 2, 2006, 4:02 PM */ package org.jmonks.batchserver.io.flat; import java.io.FileInputStream; import junit.framework.*; import org.jmonks.batchserver.io.*; /** * * @author w951h8m */ public class DelimitedFlatFileReaderTest extends TestCase { public DelimitedFlatFileReaderTest(String testName) { super(testName); } protected void setUp() throws Exception { } protected void tearDown() throws Exception { } public static Test suite() { TestSuite suite = new TestSuite(DelimitedFlatFileReaderTest.class); return suite; } /** * Test of getNextRecord method, of class org.jmonks.batchserver.io.DelimitedFlatFileReader. */ public void testGetNextRecord() throws Exception { System.out.println("testGetNextRecord"); FileReader fileReader=FileReader.getFileReader(new FileInputStream("C:\\sample_delimited.dat"), this.getClass().getResourceAsStream("sample-delimited-file-spec.xml")); ReaderRecord record=null; while((record=fileReader.getNextRecord())!=null) { System.out.println(record.readField("field1") + " "); System.out.println(record.readField("field2") + " "); System.out.println(record.readField("field3") + " "); System.out.println(record.readField("field4")); } } } Index: FixedWidthFlatFileWriterTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io/flat/FixedWidthFlatFileWriterTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FixedWidthFlatFileWriterTest.java 7 Jun 2006 03:12:48 -0000 1.2 --- FixedWidthFlatFileWriterTest.java 22 Aug 2006 23:42:48 -0000 1.3 *************** *** 8,21 **** package org.jmonks.batchserver.io.flat; import junit.framework.*; - import java.io.BufferedWriter; - import java.io.IOException; - import java.util.HashMap; - import java.util.Iterator; - import java.util.List; - import java.util.Map; - import org.apache.log4j.Logger; - import org.jmonks.batchserver.io.FileParseException; - import org.jmonks.batchserver.io.FileSpec; import org.jmonks.batchserver.io.FileWriter; import org.jmonks.batchserver.io.RecordType; --- 8,13 ---- package org.jmonks.batchserver.io.flat; + import java.io.FileOutputStream; import junit.framework.*; import org.jmonks.batchserver.io.FileWriter; import org.jmonks.batchserver.io.RecordType; *************** *** 54,76 **** * Test of writeRecord method, of class org.jmonks.batchserver.io.flat.FixedWidthFlatFileWriter. */ ! public void testWriterRecord() { System.out.println("testWriterRecord"); ! FileWriter fileWriter=FileWriter.getFileWriter("D:\\test.pmt", ! "D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\flat\\sample-fixed-width-file-spec.xml"); ! WriterRecord rec1=fileWriter.createWriterRecord(RecordType.DETAIL); ! rec1.writeField("field1", "VALUE1"); ! rec1.writeField("field2", "VALUE2"); ! rec1.writeField("field3", "VALUE3VALUE3VALUE3"); ! rec1.writeField("field4", "VALUE4"); ! fileWriter.writeRecord(rec1); ! WriterRecord rec2=fileWriter.createWriterRecord(RecordType.DETAIL); ! rec2.writeField("field1", "VALUE1"); ! rec2.writeField("field2", "VALUE2"); ! rec2.writeField("field3", "VALUE3"); ! rec2.writeField("field4", "VALUE4"); ! fileWriter.writeRecord(rec2); fileWriter.close(); --- 46,69 ---- * Test of writeRecord method, of class org.jmonks.batchserver.io.flat.FixedWidthFlatFileWriter. */ ! public void testWriterRecord() throws Exception { System.out.println("testWriterRecord"); ! FileWriter fileWriter=FileWriter.getFileWriter(new FileOutputStream("C:\\sample_fixed.dat"), ! this.getClass().getResourceAsStream("sample-fixed-width-file-spec.xml")); ! WriterRecord headerRecord=fileWriter.createWriterRecord(RecordType.HEADER); ! headerRecord.writeField("timestamp", "20060812"); ! fileWriter.writeRecord(headerRecord); ! ! WriterRecord detailRecord=fileWriter.createWriterRecord(RecordType.DETAIL); ! detailRecord.writeField("field1", "VALUE1"); ! detailRecord.writeField("field2", "VALUE2"); ! detailRecord.writeField("field3", "VALUE3VALUE3VALUE3"); ! detailRecord.writeField("field4", "VALUE4"); ! fileWriter.writeRecord(detailRecord); ! WriterRecord trailerRecord=fileWriter.createWriterRecord(RecordType.TRAILER); ! trailerRecord.writeField("recordCount", "1"); ! fileWriter.writeRecord(trailerRecord); fileWriter.close(); --- NEW FILE: DelimitedFlatFileWriterTest.java --- /* * FixedWidthFlatFileWriterTest.java * JUnit based test * * Created on June 6, 2006, 11:41 AM */ package org.jmonks.batchserver.io.flat; import java.io.FileOutputStream; import junit.framework.*; import org.jmonks.batchserver.io.FileWriter; import org.jmonks.batchserver.io.RecordType; import org.jmonks.batchserver.io.WriterRecord; /** * * @author w951h8m */ public class DelimitedFlatFileWriterTest extends TestCase { public DelimitedFlatFileWriterTest(String testName) { super(testName); } protected void setUp() throws Exception { } protected void tearDown() throws Exception { } public static Test suite() { TestSuite suite = new TestSuite(DelimitedFlatFileWriterTest.class); return suite; } /** * Test of writeRecord method, of class org.jmonks.batchserver.io.flat.DelimitedFlatFileWriter. */ public void testWriterRecord() throws Exception { System.out.println("testWriterRecord"); FileWriter fileWriter=FileWriter.getFileWriter(new FileOutputStream("C:\\sample_delimited.dat"), this.getClass().getResourceAsStream("sample-delimited-file-spec.xml")); WriterRecord detailRecord1=fileWriter.createWriterRecord(RecordType.DETAIL); detailRecord1.writeField("field1", "VALUE1"); detailRecord1.writeField("field2", "VALUE2"); detailRecord1.writeField("field3", "VALUE3VALUE3VALUE3"); detailRecord1.writeField("field4", "VALUE4"); fileWriter.writeRecord(detailRecord1); WriterRecord detailRecord2=fileWriter.createWriterRecord(RecordType.DETAIL); detailRecord2.writeField("field1", "VALUE1"); detailRecord2.writeField("field2", "VALUE2"); detailRecord2.writeField("field3", "VALUE3VALUE3VALUE3"); detailRecord2.writeField("field4", "VALUE4"); fileWriter.writeRecord(detailRecord2); fileWriter.close(); } } |
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv1690 Modified Files: package.html sample-xml-file-spec.xml sample-xml-file.xml XMLFileSpec.java XMLFileWriter.java Log Message: no message Index: package.html =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/package.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** package.html 22 Aug 2006 03:19:36 -0000 1.4 --- package.html 22 Aug 2006 23:42:09 -0000 1.5 *************** *** 25,31 **** <code>root-element</code> which will be used highly while generating the xml file from the set of records. The value in the attribute specifies the ! root element of the xml document. <pre> ! <file-spec file-type="xml" root-element="sample-root> </file-spec> </pre> --- 25,36 ---- <code>root-element</code> which will be used highly while generating the xml file from the set of records. The value in the attribute specifies the ! root element of the xml document. This file spec optionally requires 2 more attributes ! "indentation-engine" and "encoding". "indentation-engine" attribute value tells ! the class to be used for the indentation purposes. This class should implement ! the XMLIndentationEngine interface. If this attribute is not specified and the given ! class is not valid, it uses default indentation engine. The value specified in ! "encoding" attribute will be used in generated xml processing instruction. <pre> ! <file-spec file-type="xml" root-element="sample-root" indentation-engine="org.jmonks.batchserver.io.xml.PrettyXMLIndentationEngine" encoding="ISO-8859-1"> </file-spec> </pre> *************** *** 34,38 **** which tells the xpath in the document to identify the record. <pre> ! <file-spec file-type="xml" root-element="sample-root> <record-spec record-type="DETAIL" record-xpath="/sample-root/detail-record"/> </file-spec> --- 39,43 ---- which tells the xpath in the document to identify the record. <pre> ! <file-spec file-type="xml" root-element="sample-root" indentation-engine="org.jmonks.batchserver.io.xml.PrettyXMLIndentationEngine" encoding="ISO-8859-1"> <record-spec record-type="DETAIL" record-xpath="/sample-root/detail-record"/> </file-spec> *************** *** 46,103 **** repeat more than once) values will be exposed as list. ! <h5>Reading the records from xml files</h5> ! Reading the records from the xml files is fairly simple. <pre style="color:green"> <i> ! InputStream fileSpecInputStream= // Get the input stream for the XML file contains the file structure. ! InputStream fileInputStream= // Get the input stream of the file to be read. ! FileReader reader=FileReader.getFileReader(fileInputStream,fileSpecInputStream); ! ReaderRecord record=null; ! while((record=reader.getNextRecord())!=null) { ! if(record.getRecordType().equals(RecordType.DETAIL)) { ! XMLFileReader.XMLReaderRecord xmlRecord=(XMLFileReader.XMLReaderRecord)record; ! String fieldValue1=xmlRecord.readSimpleElement("field-name1"); ! ! List repeatElement=xmlRecord.readRepeatElement("field-name2"); ! //Read the repeated values from the list. ! ! XMLFileReader.XMLReaderRecord complexRecord=(XMLFileReader.XMLReaderRecord)xmlRecord.readComplexElement("field-name3"); ! String fieldValue4=complexRecord.readSimpleElement("field-name4"); ! // Read the rest of the field and does the processing. } } ! reader.close(); </i> </pre> ! <h5>Writing the records into xml files</h5> ! Writing the records into xml files is fairly simple. <pre style="color:green"> <i> ! InputStream fileSpecInputStream= // Get the input stream for the XML file contains the file structure. ! OutputStream fileOutputStream= // Get the output stream of the file to be written/generated. ! FileWriter writer=FileWriter.getFileWriter(fileOutputStream,fileSpecInputStream); ! ! XMLFileWriter.XMLWriterRecord record=(XMLFileWriter.XMLWriterRecord)writer.createWriterRecord(RecordType.DETAIL); ! record.writeSimpleElement("field-name1","field-value1"); ! XMLFileWriter.XMLWriterRecord complexRecord=(XMLFileWriter.XMLWriterRecord)record.createComplexElement("field-name3"); ! complexRecord.writeSimpleElement("field-name4","field-value4"); ! // Write all the other field values into the writer record. ! ! List repeatList=record.createRepeateElement("field-name2"); ! ! repeatList.add("field-value21"); ! repeatList.add("field-value22"); ! ! // Create an orphan record and add that one to the list. ! XMLFileWriter.XMLWriterRecord complexRepeatRecord=record.createComplexElement(); ! complexRepeatRecord.writeSimpleElement("field-name211","field-value211"); ! complexRepeatRecord.writeSimpleElement("field-name212","field-value212"); ! repeatList.add(complexRepeatRecord); ! ! writer.writeRecord(record); ! writer.close(); </i> </pre> --- 51,224 ---- repeat more than once) values will be exposed as list. ! <br> ! Here onwards will try to show how to process/read and generates/write the following xml file. ! Lets assume we need to read and write and following xml file. ! <br> ! <pre style="color:red"> ! <b> ! <?xml version='1.0' encoding='ISO-8859-1'?> ! <sample-root> ! <sample-header> ! <file-type>Employee Records</file-type> ! </sample-header> ! <sample-detail> ! <first-name>Suresh</first-name> ! <last-name>Pragada</last-name> ! <dept-info> ! <dept-name>IT</dept-name> ! <dept-location>LOC1</dept-location> ! </dept-info> ! <addresses> ! <address> ! <address-type>home</address-type> ! <city>Menomonee Falls</city> ! <zip-code>53051</zip-code> ! </address> ! <address> ! <address-type>office</address-type> ! <city>Menomonee Falls</city> ! <zip-code>53051</zip-code> ! </address> ! <address>Unidentified</address> ! </addresses> ! </sample-detail> ! <sample-trailer> ! <transaction-count>1</transaction-count> ! </sample-trailer> ! </sample-root> ! </b> ! </pre> ! <br> ! Following is the file spec to read and write the above given file. ! <br> ! <pre style="color:red"> ! <b> ! <?xml version="1.0" encoding="UTF-8"?> ! ! <file-spec file-type="xml" root-element="sample-root" indentation-engine="org.jmonks.batchserver.io.xml.PrettyXMLIndentationEngine" encoding="ISO-8859-1"> ! <record-spec record-type="header" record-xpath="/sample-root/sample-header"/> ! <record-spec record-type="detail" record-xpath="/sample-root/sample-detail"/> ! <record-spec record-type="trailer" record-xpath="/sample-root/sample-trailer"/> ! </file-spec> ! </b> ! </pre> ! ! <h5>Code to read the records from xml files</h5> <pre style="color:green"> <i> ! FileReader fileReader=FileReader.getFileReader(new FileInputStream("C:\\sample-xml-file_2.xml"),this.getClass().getResourceAsStream("sample-xml-file-spec.xml")); ! ! ReaderRecord readerRecord=null; ! while((readerRecord=fileReader.getNextRecord())!=null) ! { ! if(readerRecord.getRecordType().equals(RecordType.HEADER)) { ! // Simple elements in the records can be read using either readFiled or readSimpleElement. ! String fileType=(String)readerRecord.readField("file-type"); ! System.out.println("File type in header record = " + fileType); ! } ! else if(readerRecord.getRecordType().equals(RecordType.TRAILER)) ! { ! // Trying to show that simple elements can be read using readSimpleElement. ! String transactionCount=((XMLReaderRecord)readerRecord).readSimpleElement("transaction-count"); ! System.out.println(transactionCount); ! } ! else if(readerRecord.getRecordType().equals(RecordType.DETAIL)) ! { ! XMLReaderRecord xmlDetailRecord=(XMLReaderRecord)readerRecord; ! ! // Simple elements can be read using readSimpleElement method. ! String firstName=xmlDetailRecord.readSimpleElement("first-name"); ! String lastName=xmlDetailRecord.readSimpleElement("last-name"); ! System.out.println(firstName + " " + lastName); ! ! // Nested elements can be read using readComplexElement method. ! XMLReaderRecord deptInfoComplexRecord=(XMLReaderRecord)xmlDetailRecord.readComplexElement("dept-info"); ! String deptName=deptInfoComplexRecord.readSimpleElement("dept-name"); ! String deptLocation=deptInfoComplexRecord.readSimpleElement("dept-location"); ! System.out.println(deptName + " " + deptLocation); ! ! XMLReaderRecord addressesComplexRecord=(XMLReaderRecord)xmlDetailRecord.readComplexElement("addresses"); ! List addressesRepeatList=addressesComplexRecord.readRepeatElement("address"); ! for(Iterator iterator=addressesRepeatList.iterator();iterator.hasNext();) { ! Object addressRecord=iterator.next(); ! if(addressRecord instanceof XMLReaderRecord) ! { ! XMLReaderRecord addressComplexRecord=(XMLReaderRecord)addressRecord; ! String addressType=addressComplexRecord.readSimpleElement("address-type"); ! String city=addressComplexRecord.readSimpleElement("city"); ! String zipCode=addressComplexRecord.readSimpleElement("zip-code"); ! System.out.println(addressType + " " + city + " " + zipCode); ! } ! else if(addressRecord instanceof String) ! { ! System.out.println((String)addressRecord); ! } ! else ! System.out.println("Unknown type."); ! } } ! else ! System.out.println("Unknown record type = " + readerRecord.getRecordType().toString()); ! } ! fileReader.close(); </i> </pre> ! <h5>Code to write the records into xml files</h5> <pre style="color:green"> <i> ! // Get the file writer by providing the output stream to write the xml file and input stream to file spec. ! FileWriter fileWriter=FileWriter.getFileWriter(new FileOutputStream("C:\\sample-xml-file_2.xml"), this.getClass().getResourceAsStream("sample-xml-file-spec.xml")); ! // Create and write the header record. ! XMLWriterRecord headerRecord=(XMLWriterRecord)fileWriter.createWriterRecord(RecordType.HEADER); ! headerRecord.writeSimpleElement("file-type", "Employee Records"); ! fileWriter.writeRecord(headerRecord); ! ! // Get the empty record you want to create by passing the record type you mentioned in file spec. ! XMLWriterRecord detailRecord=(XMLWriterRecord)fileWriter.createWriterRecord(RecordType.DETAIL); ! ! // Write the simple elements using either writeField or writeSimpleElement methods. ! detailRecord.writeSimpleElement("first-name", "Suresh"); ! detailRecord.writeField("last-name", "Pragada"); ! ! // Create the nested record by passing the nested element name. This automatically attached to detail record. No need to write it back to detail record. ! XMLWriterRecord deptComplexRecord=(XMLWriterRecord)detailRecord.createComplexElement("dept-info"); ! deptComplexRecord.writeSimpleElement("dept-name", "IT"); ! deptComplexRecord.writeSimpleElement("dept-location", "LOC1"); ! ! ! XMLWriterRecord addressesComplexRecord=(XMLWriterRecord)detailRecord.createComplexElement("addresses"); ! // Get the list to add all the elements needs to be written with the given name. ! List addressRepeatList=addressesComplexRecord.createRepeatElement("address"); ! ! // Empty nested element record can be created using any XMLWriterRecord instance. ! XMLWriterRecord homeAddressComplexRecord=(XMLWriterRecord)addressesComplexRecord.createComplexElement(); ! homeAddressComplexRecord.writeSimpleElement("address-type", "home"); ! homeAddressComplexRecord.writeSimpleElement("city", "Menomonee Falls"); ! homeAddressComplexRecord.writeSimpleElement("zip-code", "53051"); ! addressRepeatList.add(homeAddressComplexRecord); ! ! // Empty nested element record can be created using any XMLWriterRecord instance. ! XMLWriterRecord officeAddressComplexRecord=(XMLWriterRecord)addressesComplexRecord.createComplexElement(); ! officeAddressComplexRecord.writeSimpleElement("address-type", "office"); ! officeAddressComplexRecord.writeSimpleElement("city", "Menomonee Falls"); ! officeAddressComplexRecord.writeSimpleElement("zip-code", "53051"); ! addressRepeatList.add(officeAddressComplexRecord); ! ! // Feel free to drop simple elements value as well. ! addressRepeatList.add("Unidentified"); ! ! // Write the finished record into the file. ! fileWriter.writeRecord(detailRecord); ! ! // Create and write the trailer record. ! XMLWriterRecord trailerRecord=(XMLWriterRecord)fileWriter.createWriterRecord(RecordType.TRAILER); ! trailerRecord.writeSimpleElement("transaction-count", "1"); ! fileWriter.writeRecord(trailerRecord); ! ! fileWriter.close(); </i> </pre> Index: sample-xml-file-spec.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/sample-xml-file-spec.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** sample-xml-file-spec.xml 22 Aug 2006 13:04:13 -0000 1.2 --- sample-xml-file-spec.xml 22 Aug 2006 23:42:09 -0000 1.3 *************** *** 1,7 **** <?xml version="1.0" encoding="UTF-8"?> ! <file-spec file-type="xml" root-element="sample-root" indentation-engine="org.jmonks.batchserver.io.xml.PrettyXMLIndentationEngine"> <record-spec record-type="header" record-xpath="/sample-root/sample-header"/> <record-spec record-type="detail" record-xpath="/sample-root/sample-detail"/> ! <record-spec record-type="trailor" record-xpath="/sample-root/sample-trailor"/> </file-spec> --- 1,7 ---- <?xml version="1.0" encoding="UTF-8"?> ! <file-spec file-type="xml" root-element="sample-root" indentation-engine="org.jmonks.batchserver.io.xml.PrettyXMLIndentationEngine" encoding="ISO-8859-1"> <record-spec record-type="header" record-xpath="/sample-root/sample-header"/> <record-spec record-type="detail" record-xpath="/sample-root/sample-detail"/> ! <record-spec record-type="trailer" record-xpath="/sample-root/sample-trailer"/> </file-spec> Index: sample-xml-file.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/sample-xml-file.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** sample-xml-file.xml 5 Jun 2006 22:40:34 -0000 1.3 --- sample-xml-file.xml 22 Aug 2006 23:42:09 -0000 1.4 *************** *** 1,30 **** ! <?xml version="1.0" encoding="UTF-8"?> <sample-root> <sample-header> ! <time-stamp>20060602152356</time-stamp> </sample-header> <sample-detail> ! <sample-field1>sample-value1</sample-field1> ! <sample-field2>sample-value1</sample-field2> ! <sample-field3> ! <sample-nested-field1>sample-nested-value1</sample-nested-field1> ! <sample-nested-field1>sample-nested-value2</sample-nested-field1> ! <sample-nested-field3>sample-nested-value3</sample-nested-field3> ! </sample-field3> ! <sample-field4>sample-value1</sample-field4> </sample-detail> ! <sample-detail> ! <sample-field1>sample-value1</sample-field1> ! <sample-field2>sample-value1</sample-field2> ! <sample-field3> ! <sample-nested-field1>sample-nested-value1</sample-nested-field1> ! <sample-nested-field1>sample-nested-value2</sample-nested-field1> ! <sample-nested-field3>sample-nested-value3</sample-nested-field3> ! </sample-field3> ! <sample-field4>sample-value4</sample-field4> ! <sample-field5/> <!-- <sample-field5/> --> ! </sample-detail> ! <sample-trailor> ! <record-count>10000</record-count> ! </sample-trailor> ! </sample-root> --- 1,30 ---- ! <?xml version='1.0' encoding='ISO-8859-1'?> <sample-root> <sample-header> ! <file-type>Employee Records</file-type> </sample-header> <sample-detail> ! <first-name>Suresh</first-name> ! <last-name>Pragada</last-name> ! <dept-info> ! <dept-name>IT</dept-name> ! <dept-location>LOC1</dept-location> ! </dept-info> ! <addresses> ! <address> ! <address-type>home</address-type> ! <city>Menomonee Falls</city> ! <zip-code>53051</zip-code> ! </address> ! <address> ! <address-type>office</address-type> ! <city>Menomonee Falls</city> ! <zip-code>53051</zip-code> ! </address> ! <address>Unidentified</address> ! </addresses> </sample-detail> ! <sample-trailer> ! <transaction-count>1</transaction-count> ! </sample-trailer> ! </sample-root> \ No newline at end of file Index: XMLFileWriter.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/XMLFileWriter.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** XMLFileWriter.java 22 Aug 2006 13:04:13 -0000 1.12 --- XMLFileWriter.java 22 Aug 2006 23:42:09 -0000 1.13 *************** *** 36,39 **** --- 36,48 ---- * writer record provides the methods to write these elements. * </p> + * <p> + * XMLFileWriter looks for two attributes "indentation-engine" and "encoding" in the + * file spec to format the generated xml and use the encoding value in generated + * xml processing instruction. The value to the "indentation-engine" should be + * the class name implements XMLIndentationEngine interface. If it doesnt find this + * attribute or not a valid value in this attribute, it uses the default indentation + * engine. The value specified in "encoding" attribute will be used in the processing + * instruction. + * </p> * * @author Suresh Pragada *************** *** 83,87 **** logger.debug("Writer has been created."); this.indentationEngine=this.getXMLIndentationEngine(this.fileSpec.getXMLIndentationEngineClassName()); ! this.writer.writeStartDocument("ISO-8859-1", "1.0"); this.writer.writeCharacters(this.indentationEngine.startElement()); this.writer.writeStartElement(this.fileSpec.rootElement); --- 92,100 ---- logger.debug("Writer has been created."); this.indentationEngine=this.getXMLIndentationEngine(this.fileSpec.getXMLIndentationEngineClassName()); ! String encoding=this.fileSpec.getEncoding(); ! if(encoding!=null && !"".equals(encoding)) ! this.writer.writeStartDocument(encoding, "1.0"); ! else ! this.writer.writeStartDocument("UTF-8", "1.0"); this.writer.writeCharacters(this.indentationEngine.startElement()); this.writer.writeStartElement(this.fileSpec.rootElement); *************** *** 268,272 **** logger.trace("Entering getXMLindentationEngine = " + xmlIndentationEngineClassName); XMLIndentationEngine engine=null; ! if(xmlIndentationEngineClassName!=null) { try --- 281,285 ---- logger.trace("Entering getXMLindentationEngine = " + xmlIndentationEngineClassName); XMLIndentationEngine engine=null; ! if(xmlIndentationEngineClassName!=null && !"".equals(xmlIndentationEngineClassName)) { try Index: XMLFileSpec.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/XMLFileSpec.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** XMLFileSpec.java 22 Aug 2006 13:04:13 -0000 1.6 --- XMLFileSpec.java 22 Aug 2006 23:42:09 -0000 1.7 *************** *** 48,51 **** --- 48,55 ---- protected String xmlIndentationEngineClassName=null; /** + * Holds the encoding value to be placed in processing instruction. + */ + protected String encoding=null; + /** * Constant defines the root element attribute name. */ *************** *** 55,58 **** --- 59,66 ---- */ public static final String XML_INDENTATION_ENGINE_ATTRIB_NAME = "indentation-engine"; + /** + * Constant defines the encoding attribute name. + */ + public static final String ENCODING_ATTRIB_NAME = "encoding"; private static Logger logger=Logger.getLogger(XMLFileSpec.class); *************** *** 87,90 **** --- 95,109 ---- /** + * Get the encoding value to be placed in processing instruction. This will be + * conifgured in file spec. + * + * @return Returns the file spec. + */ + public String getEncoding() + { + return this.encoding; + } + + /** * Factory method to create the xml file spec object from the given * DOM Element representing the file-spec element. *************** *** 108,111 **** --- 127,131 ---- fileSpec.xmlIndentationEngineClassName=fileSpecElement.getAttribute(XMLFileSpec.XML_INDENTATION_ENGINE_ATTRIB_NAME); + fileSpec.encoding=fileSpecElement.getAttribute(XMLFileSpec.ENCODING_ATTRIB_NAME); NodeList recordSpecNodeList=fileSpecElement.getElementsByTagName(RecordSpec.RECORD_SPEC_TAG_NAME); *************** *** 137,140 **** --- 157,161 ---- stringValue.append("[rootElement = " + this.rootElement + "]"); stringValue.append("[xmlIndentationEngine = " + this.xmlIndentationEngineClassName + "]"); + stringValue.append("[encoding = " + this.encoding + "]"); stringValue.append("[recordSpecList = "); for(Iterator iterator=recordSpecMap.values().iterator();iterator.hasNext();) |
From: Suresh <sur...@us...> - 2006-08-22 13:04:17
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv29920 Modified Files: sample-xml-file-spec.xml XMLFileSpec.java XMLFileWriter.java Log Message: no message Index: sample-xml-file-spec.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/sample-xml-file-spec.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** sample-xml-file-spec.xml 3 Jun 2006 13:14:42 -0000 1.1 --- sample-xml-file-spec.xml 22 Aug 2006 13:04:13 -0000 1.2 *************** *** 1,5 **** <?xml version="1.0" encoding="UTF-8"?> ! <file-spec file-type="xml" root-element="sample-root"> <record-spec record-type="header" record-xpath="/sample-root/sample-header"/> <record-spec record-type="detail" record-xpath="/sample-root/sample-detail"/> --- 1,5 ---- <?xml version="1.0" encoding="UTF-8"?> ! <file-spec file-type="xml" root-element="sample-root" indentation-engine="org.jmonks.batchserver.io.xml.PrettyXMLIndentationEngine"> <record-spec record-type="header" record-xpath="/sample-root/sample-header"/> <record-spec record-type="detail" record-xpath="/sample-root/sample-detail"/> Index: XMLFileWriter.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/XMLFileWriter.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** XMLFileWriter.java 16 Aug 2006 18:07:24 -0000 1.11 --- XMLFileWriter.java 22 Aug 2006 13:04:13 -0000 1.12 *************** *** 52,56 **** * Egnine to be used for the indentation. */ ! private XMLIndentationEngine indentationEngine=new PrettyXMLIndentationEngine(); private static Logger logger=Logger.getLogger(XMLFileWriter.class); --- 52,56 ---- * Egnine to be used for the indentation. */ ! private XMLIndentationEngine indentationEngine=null; private static Logger logger=Logger.getLogger(XMLFileWriter.class); *************** *** 82,87 **** this.writer=outputFactory.createXMLStreamWriter(writer); logger.debug("Writer has been created."); this.writer.writeStartDocument("ISO-8859-1", "1.0"); ! this.writer.writeCharacters(indentationEngine.startElement()); this.writer.writeStartElement(this.fileSpec.rootElement); } --- 82,88 ---- this.writer=outputFactory.createXMLStreamWriter(writer); logger.debug("Writer has been created."); + this.indentationEngine=this.getXMLIndentationEngine(this.fileSpec.getXMLIndentationEngineClassName()); this.writer.writeStartDocument("ISO-8859-1", "1.0"); ! this.writer.writeCharacters(this.indentationEngine.startElement()); this.writer.writeStartElement(this.fileSpec.rootElement); } *************** *** 254,258 **** logger.trace("Exiting close"); } ! /** --- 255,294 ---- logger.trace("Exiting close"); } ! ! /** ! * Instantiates and returns the instance of the given class name. If it couldnt be instantiated, ! * it returns default XMLIndentationEngine. ! * ! * @param xmlIndentationEngineClassName Class name of engine defined in the file spec. ! * ! * @return Returns the instance of xml indentation engine. ! */ ! private XMLIndentationEngine getXMLIndentationEngine(String xmlIndentationEngineClassName) ! { ! logger.trace("Entering getXMLindentationEngine = " + xmlIndentationEngineClassName); ! XMLIndentationEngine engine=null; ! if(xmlIndentationEngineClassName!=null) ! { ! try ! { ! engine=(XMLIndentationEngine)Class.forName(xmlIndentationEngineClassName).newInstance(); ! logger.debug("Successfully created engine from the configured class"); ! } ! catch(Exception exception) ! { ! exception.printStackTrace(); ! logger.error(exception.getMessage(),exception); ! logger.info("Unable to instantiate the configured xml indentation engine class. Creating the default xml indentation engine."); ! engine=new PrettyXMLIndentationEngine(); ! } ! } ! else ! { ! logger.info("No xml indentation engine class has been configured in file spec. Creating the default xml indentation engine."); ! engine=new PrettyXMLIndentationEngine(); ! } ! logger.trace("Exiting getXMLIndentationEngine = " + (engine!=null)); ! return engine; ! } /** *************** *** 330,337 **** /** ! * Creates an orphan record that can be added to the repeated element. ! * Once you are done working with this record, you should add this one to ! * either the list or any another element, but you can submit to the writer ! * for writing into the file. This will not be associated to the record by default. */ public WriterRecord createComplexElement() --- 366,376 ---- /** ! * Creates an orphan record that can be added to the record or repeated ! * element later. Once you are done working with this record, ! * you should add this one to either the list or any another element, ! * but you can not submit to the writer for writing this (orphan) record into the file. ! * This will not be associated to any record by default. ! * ! * @return Returns an XMLWriterRecord. */ public WriterRecord createComplexElement() Index: XMLFileSpec.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/XMLFileSpec.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** XMLFileSpec.java 22 Jun 2006 22:52:01 -0000 1.5 --- XMLFileSpec.java 22 Aug 2006 13:04:13 -0000 1.6 *************** *** 44,50 **** --- 44,58 ---- protected String rootElement=null; /** + * Holds the class name of XMLIndentationEngine. + */ + protected String xmlIndentationEngineClassName=null; + /** * Constant defines the root element attribute name. */ public static final String ROOT_ELEMENT_ATTRIB_NAME = "root-element"; + /** + * Constant defines the xml indentation engine attribute name. + */ + public static final String XML_INDENTATION_ENGINE_ATTRIB_NAME = "indentation-engine"; private static Logger logger=Logger.getLogger(XMLFileSpec.class); *************** *** 67,70 **** --- 75,90 ---- /** + * Returns the XMLIndentationEngine class name to be used + * to format the output. This is optional in configuration. If + * none is specified default xml indentation engine will be used. + * + * @return Returns the class name of XMLIndentationEngine, null if not configured. + */ + public String getXMLIndentationEngineClassName() + { + return this.xmlIndentationEngineClassName; + } + + /** * Factory method to create the xml file spec object from the given * DOM Element representing the file-spec element. *************** *** 86,89 **** --- 106,111 ---- else throw new FileSpecException("XML FileSpec requires attribute root-element in element file-spec."); + + fileSpec.xmlIndentationEngineClassName=fileSpecElement.getAttribute(XMLFileSpec.XML_INDENTATION_ENGINE_ATTRIB_NAME); NodeList recordSpecNodeList=fileSpecElement.getElementsByTagName(RecordSpec.RECORD_SPEC_TAG_NAME); *************** *** 114,117 **** --- 136,140 ---- stringValue.append("[fileType = " + super.fileType.toString() + "]"); stringValue.append("[rootElement = " + this.rootElement + "]"); + stringValue.append("[xmlIndentationEngine = " + this.xmlIndentationEngineClassName + "]"); stringValue.append("[recordSpecList = "); for(Iterator iterator=recordSpecMap.values().iterator();iterator.hasNext();) |
From: Suresh <sur...@us...> - 2006-08-22 03:19:38
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18419 Modified Files: package.html Log Message: no message Index: package.html =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/package.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** package.html 16 Aug 2006 18:07:24 -0000 1.3 --- package.html 22 Aug 2006 03:19:36 -0000 1.4 *************** *** 87,91 **** // Write all the other field values into the writer record. ! List repeatList=writer.createRepeateElement("field-name2"); repeatList.add("field-value21"); --- 87,91 ---- // Write all the other field values into the writer record. ! List repeatList=record.createRepeateElement("field-name2"); repeatList.add("field-value21"); |
From: Suresh <sur...@us...> - 2006-08-18 18:36:26
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv24732 Modified Files: XMLFileReader.java Log Message: no message Index: XMLFileReader.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/XMLFileReader.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** XMLFileReader.java 22 Jun 2006 22:52:01 -0000 1.12 --- XMLFileReader.java 18 Aug 2006 18:36:13 -0000 1.13 *************** *** 412,416 **** public ReaderRecord readComplexElement(String elementName) { ! return (ReaderRecord)fieldMap.get(elementName); } --- 412,427 ---- public ReaderRecord readComplexElement(String elementName) { ! Object complexElement=fieldMap.get(elementName); ! if(complexElement!=null) ! { ! if(complexElement instanceof ReaderRecord) ! return (ReaderRecord)complexElement; ! else if(complexElement instanceof String) ! return new XMLReaderRecord(super.getRecordType()); ! else ! return null; ! } ! else ! return null; } |
From: Suresh <sur...@us...> - 2006-08-16 18:07:50
|
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io/xml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21451 Modified Files: XMLFileWriterTest.java Log Message: no message Index: XMLFileWriterTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batchserver/io/xml/XMLFileWriterTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** XMLFileWriterTest.java 7 Jun 2006 22:11:13 -0000 1.2 --- XMLFileWriterTest.java 16 Aug 2006 18:07:48 -0000 1.3 *************** *** 8,17 **** package org.jmonks.batchserver.io.xml; ! import java.util.ArrayList; import java.util.List; import junit.framework.*; import org.jmonks.batchserver.io.FileWriter; import org.jmonks.batchserver.io.RecordType; ! import org.jmonks.batchserver.io.WriterRecord; /** --- 8,18 ---- package org.jmonks.batchserver.io.xml; ! import java.io.FileInputStream; ! import java.io.FileOutputStream; import java.util.List; import junit.framework.*; import org.jmonks.batchserver.io.FileWriter; import org.jmonks.batchserver.io.RecordType; ! import org.jmonks.batchserver.io.xml.XMLFileWriter.XMLWriterRecord; /** *************** *** 45,74 **** * Test of writerRecord method, of class org.jmonks.batchserver.io.xml.XMLFileWriter. */ ! public void testWriterRecord() { System.out.println("testWriterRecord"); ! FileWriter fileWriter=FileWriter.getFileWriter("D:\\sample-xml-file_2.xml", "D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\xml\\sample-xml-file-spec.xml"); ! WriterRecord rec1=fileWriter.createWriterRecord(RecordType.DETAIL); ! rec1.writeField("sample-element1", "sample-value1"); ! rec1.writeField("sample-element2", "sample-value2"); ! rec1.writeField("sample-element3", "sample-value3"); ! List element4List=new ArrayList(); ! element4List.add("element-value4-value1"); ! element4List.add("element-value4-value2"); ! element4List.add("element-value4-value3"); ! rec1.writeField("sample-element4",element4List); ! WriterRecord nestedRec1=fileWriter.createWriterRecord(RecordType.DETAIL); ! nestedRec1.writeField("sample-element1", "sample-value1"); ! nestedRec1.writeField("sample-element2", "sample-value2"); ! nestedRec1.writeField("sample-element3", "sample-value3"); ! rec1.writeField("sample-element5", nestedRec1); ! rec1.writeField("sample-element6", ""); ! fileWriter.writeRecord(rec1); fileWriter.close(); } --- 46,90 ---- * Test of writerRecord method, of class org.jmonks.batchserver.io.xml.XMLFileWriter. */ ! public void testWriterRecord() throws Exception { System.out.println("testWriterRecord"); ! FileWriter fileWriter=FileWriter.getFileWriter(new FileOutputStream("D:\\sample-xml-file_2.xml"), new FileInputStream("D:\\workarea\\personal\\latestcvs\\batchserver\\src\\org\\jmonks\\batchserver\\io\\xml\\sample-xml-file-spec.xml")); ! XMLWriterRecord mainRecord=(XMLWriterRecord)fileWriter.createWriterRecord(RecordType.DETAIL); ! mainRecord.writeSimpleElement("sample-field1", "sample-value1"); + XMLWriterRecord acctInfoRecord=(XMLWriterRecord)mainRecord.createComplexElement("complex-sample-field2"); + acctInfoRecord.writeSimpleElement("sample-field3", "sample-value3"); ! XMLWriterRecord tokensRecord=(XMLWriterRecord)acctInfoRecord.createComplexElement("complex-sample-field4"); ! List tokenList=tokensRecord.createRepeatElement("repeat-sample-field5"); ! XMLWriterRecord token1=(XMLWriterRecord)acctInfoRecord.createComplexElement(); ! token1.writeSimpleElement("sample-field6","sample-value6"); ! token1.writeSimpleElement("sample-field7","sample-value7"); ! XMLWriterRecord token2=(XMLWriterRecord)acctInfoRecord.createComplexElement(); ! token2.writeSimpleElement("sample-field6","sample-value6"); ! token2.writeSimpleElement("sample-field7","sample-value7"); ! tokenList.add(token1); ! tokenList.add(token2); ! tokenList.add("sample-value8"); ! XMLWriterRecord token3=(XMLWriterRecord)acctInfoRecord.createComplexElement(); ! List subTokenList=token3.createRepeatElement("repeat-sample-field9"); ! XMLWriterRecord subToken1=(XMLWriterRecord)token3.createComplexElement(); ! subToken1.writeSimpleElement("sample-field10","sample-value10"); ! subToken1.writeSimpleElement("sample-field11","sample-value11"); ! ! XMLWriterRecord subToken2=(XMLWriterRecord)token3.createComplexElement(); ! subToken2.writeSimpleElement("sample-field10","sample-value10"); ! subToken2.writeSimpleElement("sample-field11","sample-value11"); ! ! subTokenList.add(subToken1); ! subTokenList.add(subToken2); ! ! tokenList.add(token3); ! ! fileWriter.writeRecord(mainRecord); fileWriter.close(); } |
From: Suresh <sur...@us...> - 2006-08-16 18:07:29
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21421 Modified Files: package.html XMLFileWriter.java Log Message: no message Index: package.html =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/package.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** package.html 15 Jun 2006 03:35:52 -0000 1.2 --- package.html 16 Aug 2006 18:07:24 -0000 1.3 *************** *** 82,94 **** XMLFileWriter.XMLWriterRecord record=(XMLFileWriter.XMLWriterRecord)writer.createWriterRecord(RecordType.DETAIL); record.writeSimpleElement("field-name1","field-value1"); ! ! List repeateElement=writer.createRepeateElement("field-name2"); ! repeateElement.add("field-value21"); ! repeateElement.add("field-value22"); ! ! XMLFileWriter.XMLWriterRecord complexRecord=(XMLFileWriter.XMLWriterRecord)writer.createComplexElement("field-name3"); complexRecord.writeSimpleElement("field-name4","field-value4"); // Write all the other field values into the writer record. writer.writeRecord(record); writer.close(); --- 82,101 ---- XMLFileWriter.XMLWriterRecord record=(XMLFileWriter.XMLWriterRecord)writer.createWriterRecord(RecordType.DETAIL); record.writeSimpleElement("field-name1","field-value1"); ! ! XMLFileWriter.XMLWriterRecord complexRecord=(XMLFileWriter.XMLWriterRecord)record.createComplexElement("field-name3"); complexRecord.writeSimpleElement("field-name4","field-value4"); // Write all the other field values into the writer record. + List repeatList=writer.createRepeateElement("field-name2"); + + repeatList.add("field-value21"); + repeatList.add("field-value22"); + + // Create an orphan record and add that one to the list. + XMLFileWriter.XMLWriterRecord complexRepeatRecord=record.createComplexElement(); + complexRepeatRecord.writeSimpleElement("field-name211","field-value211"); + complexRepeatRecord.writeSimpleElement("field-name212","field-value212"); + repeatList.add(complexRepeatRecord); + writer.writeRecord(record); writer.close(); Index: XMLFileWriter.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batchserver/io/xml/XMLFileWriter.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** XMLFileWriter.java 22 Jun 2006 22:52:01 -0000 1.10 --- XMLFileWriter.java 16 Aug 2006 18:07:24 -0000 1.11 *************** *** 236,240 **** try { ! indentationEngine.endElement(); this.writer.writeEndElement(); this.writer.writeEndDocument(); --- 236,240 ---- try { ! this.writer.writeCharacters(indentationEngine.endElement()); this.writer.writeEndElement(); this.writer.writeEndDocument(); *************** *** 328,334 **** return complexElement; } /** ! * Creates the list and it to the record with the given field name * and returns the list to which values can be added. * --- 328,345 ---- return complexElement; } + + /** + * Creates an orphan record that can be added to the repeated element. + * Once you are done working with this record, you should add this one to + * either the list or any another element, but you can submit to the writer + * for writing into the file. This will not be associated to the record by default. + */ + public WriterRecord createComplexElement() + { + return new XMLWriterRecord(super.getRecordType() , true); + } /** ! * Creates the list and add it to the record with the given field name * and returns the list to which values can be added. * |