You can subscribe to this list here.
| 2003 |
Jan
|
Feb
(14) |
Mar
(107) |
Apr
(211) |
May
(93) |
Jun
(158) |
Jul
(159) |
Aug
(368) |
Sep
(188) |
Oct
(151) |
Nov
(115) |
Dec
(98) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(25) |
Feb
|
Mar
(33) |
Apr
(28) |
May
(116) |
Jun
(2) |
Jul
(117) |
Aug
(19) |
Sep
(9) |
Oct
(2) |
Nov
|
Dec
(4) |
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(9) |
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
(22) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(267) |
Sep
|
Oct
|
Nov
(6) |
Dec
(512) |
| 2008 |
Jan
(187) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(6) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <de...@us...> - 2003-08-07 08:46:38
|
Update of /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner
In directory sc8-pr-cvs1:/tmp/cvs-serv25753/modules/scanner/src/com/babeldoc/scanner
Modified Files:
Scanner.java
Log Message:
Implementing Holywood principle
Index: Scanner.java
===================================================================
RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/Scanner.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** Scanner.java 6 Aug 2003 12:09:58 -0000 1.24
--- Scanner.java 7 Aug 2003 08:46:34 -0000 1.25
***************
*** 128,137 ****
*/
public void execute(CommandLine commandLine) {
! super.execute(commandLine);
- // if the user asked for a help screen, exit and let him rerun the command.
- if (commandLine.hasOption('h')) {
- return;
- }
// otherwise, continue with normal execution path
--- 128,133 ----
*/
public void execute(CommandLine commandLine) {
! //super.execute(commandLine);
// otherwise, continue with normal execution path
|
|
From: <de...@us...> - 2003-08-07 08:46:38
|
Update of /cvsroot/babeldoc/babeldoc/modules/core/src/com/babeldoc/core/pipeline/command
In directory sc8-pr-cvs1:/tmp/cvs-serv25753/modules/core/src/com/babeldoc/core/pipeline/command
Modified Files:
PipelineFeeder.java PipelineCommand.java
Log Message:
Implementing Holywood principle
Index: PipelineFeeder.java
===================================================================
RCS file: /cvsroot/babeldoc/babeldoc/modules/core/src/com/babeldoc/core/pipeline/command/PipelineFeeder.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** PipelineFeeder.java 30 Jun 2003 22:14:56 -0000 1.9
--- PipelineFeeder.java 7 Aug 2003 08:46:34 -0000 1.10
***************
*** 139,143 ****
*/
public void execute(CommandLine commandLine) {
! super.execute(commandLine);
String pipelineName = commandLine.getOptionValue('p');
--- 139,143 ----
*/
public void execute(CommandLine commandLine) {
! //super.execute(commandLine);
String pipelineName = commandLine.getOptionValue('p');
Index: PipelineCommand.java
===================================================================
RCS file: /cvsroot/babeldoc/babeldoc/modules/core/src/com/babeldoc/core/pipeline/command/PipelineCommand.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** PipelineCommand.java 5 Aug 2003 23:39:25 -0000 1.8
--- PipelineCommand.java 7 Aug 2003 08:46:34 -0000 1.9
***************
*** 118,122 ****
*/
public void execute(CommandLine commandLine) {
! super.execute(commandLine);
try {
if (commandLine.hasOption('Q')) {
--- 118,122 ----
*/
public void execute(CommandLine commandLine) {
! //super.execute(commandLine);
try {
if (commandLine.hasOption('Q')) {
|
|
From: <de...@us...> - 2003-08-07 08:46:38
|
Update of /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/rmi
In directory sc8-pr-cvs1:/tmp/cvs-serv25753/modules/scanner/src/com/babeldoc/scanner/rmi
Modified Files:
RemoteScannerClient.java
Log Message:
Implementing Holywood principle
Index: RemoteScannerClient.java
===================================================================
RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/rmi/RemoteScannerClient.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** RemoteScannerClient.java 27 Jun 2003 14:00:15 -0000 1.5
--- RemoteScannerClient.java 7 Aug 2003 08:46:34 -0000 1.6
***************
*** 133,137 ****
*/
public void execute(CommandLine commandLine) {
! super.execute(commandLine);
try {
--- 133,137 ----
*/
public void execute(CommandLine commandLine) {
! //super.execute(commandLine);
try {
|
|
From: David G. <dg...@co...> - 2003-08-07 04:35:45
|
I've updated SoapWriterPipelineStage to return the soap response (thanks for the help, Jonathan!). I'm not sure if (or why!) anyone would depend on the prior functionality returning null, but, using the principal of 'better safe than sorry' (perhaps Dejan can include a paragraph or two about this in his new book), I've left the default behavior alone and added an attribute 'responseDoc' which must be set to true in the SoapWriter config file in order to see the new functionality. I haven't yet updated the documentation to include this new attribute, partly because I don't know where to update it, and partly because I'd like to remove it and force the SoapWriter to always return the response. If you don't need it, you can ignore it. However, because I don't have a good feel as to what impact this might cause, I thought I'd ask those older and wiser than myself (or at least older than my daughter). Shall I force the SoapWriter to always return the response? If not, then where can I document the responseDoc attribute? And why does it always seem darkest before the dawn? Thanks, David -- David Glick Transmit Consulting, Inc 619-475-4052 dg...@tr... |
|
From: <dgl...@us...> - 2003-08-07 04:22:57
|
Update of /cvsroot/babeldoc/babeldoc/modules/soap/config/i18n In directory sc8-pr-cvs1:/tmp/cvs-serv21285/modules/soap/config/i18n Modified Files: messages.properties Log Message: Added message 106 to describe the responseDoc attribute Index: messages.properties =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/soap/config/i18n/messages.properties,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** messages.properties 8 May 2003 12:35:09 -0000 1.2 --- messages.properties 7 Aug 2003 04:22:54 -0000 1.3 *************** *** 13,14 **** --- 13,15 ---- soap.104=Error sending soap message soap.105=Error processing SOAP response + soap.106=Return SOAP service response |
|
From: <dgl...@us...> - 2003-08-07 04:21:47
|
Update of /cvsroot/babeldoc/babeldoc/modules/soap/src/com/babeldoc/soap/pipeline/stage
In directory sc8-pr-cvs1:/tmp/cvs-serv21166/modules/soap/src/com/babeldoc/soap/pipeline/stage
Modified Files:
SoapWriterPipelineStage.java
Log Message:
The SOAP response is now returned if responseDoc is true in the config.properties file.
Index: SoapWriterPipelineStage.java
===================================================================
RCS file: /cvsroot/babeldoc/babeldoc/modules/soap/src/com/babeldoc/soap/pipeline/stage/SoapWriterPipelineStage.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** SoapWriterPipelineStage.java 27 Jun 2003 00:35:46 -0000 1.10
--- SoapWriterPipelineStage.java 7 Aug 2003 04:21:44 -0000 1.11
***************
*** 74,79 ****
--- 74,81 ----
import com.babeldoc.soap.pipeline.util.SoapHelper;
+ import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.Collection;
+ import java.util.Iterator;
import javax.xml.messaging.URLEndpoint;
***************
*** 88,94 ****
*/
public class SoapWriterPipelineStage extends PipelineStage {
! public static final String SOAP_URL = "soapUrl";
! public static final String SOAP_ACTION = "soapAction";
public static final String RESULT_STAGE = "resultStage";
/**
--- 90,97 ----
*/
public class SoapWriterPipelineStage extends PipelineStage {
! public static final String SOAP_URL = "soapUrl";
! public static final String SOAP_ACTION = "soapAction";
public static final String RESULT_STAGE = "resultStage";
+ public static final String RESPONSE_DOC = "responseDoc";
/**
***************
*** 115,118 ****
--- 118,125 ----
options.add(new ConfigOption(RESULT_STAGE, IConfigOptionType.STRING,
null, true, I18n.get("soap.103")));
+ options.add(new ConfigOption(RESULT_STAGE, IConfigOptionType.STRING,
+ null, true, I18n.get("soap.103")));
+ options.add(new ConfigOption(RESPONSE_DOC, IConfigOptionType.BOOLEAN,
+ null, false, I18n.get("soap.106")));
return options;
***************
*** 133,137 ****
*/
public static String sendSoapMessage(String soapUrl, String soapAction,
! PipelineDocument document) throws Exception {
// create a message
MessageFactory mf = MessageFactory.newInstance();
--- 140,144 ----
*/
public static String sendSoapMessage(String soapUrl, String soapAction,
! boolean returnResponse, PipelineDocument document) throws Exception {
// create a message
MessageFactory mf = MessageFactory.newInstance();
***************
*** 156,164 ****
connection.close();
! // TODO process the reply
! // if (SoapHelper.containsFault(reply)) {
! // throw new Exception("soapFault")
! // }
! return null;
}
--- 163,177 ----
connection.close();
! // either return the response, or else return null to default to previous behavior
! String retv = null; // assume the default
! if (returnResponse) {
!
! // convert the reply into a document
! ByteArrayOutputStream bs = new ByteArrayOutputStream();
! reply.writeTo(bs);
! retv = bs.toString();
! }
!
! return retv;
}
***************
*** 173,184 ****
String soapUrl = getOptions(SOAP_URL);
String soapAction = getOptions(SOAP_ACTION);
!
try {
! sendSoapMessage(soapUrl, soapAction, this.getDocument());
} catch (Exception e) {
throw new PipelineException(I18n.get("soap.104"), e);
}
! return super.processHelper();
}
}
--- 186,209 ----
String soapUrl = getOptions(SOAP_URL);
String soapAction = getOptions(SOAP_ACTION);
! String responseDoc = getOptions(RESPONSE_DOC);
! boolean returnResponse = Boolean.valueOf(responseDoc).booleanValue();
! String response = null;
try {
! response = sendSoapMessage(soapUrl, soapAction, returnResponse, this.getDocument());
} catch (Exception e) {
throw new PipelineException(I18n.get("soap.104"), e);
}
! if (returnResponse) {
! try {
! return super.processHelper("text/xml", new String[] {response});
! }
! catch (Exception e) {
! throw new com.babeldoc.core.pipeline.PipelineException("SOAPWriter", e);
! }
! }
! else {
! return super.processHelper();
! }
}
}
|
|
From: <tr...@us...> - 2003-08-07 03:52:10
|
Update of /cvsroot/babeldoc/babeldoc/readme
In directory sc8-pr-cvs1:/tmp/cvs-serv17925
Modified Files:
babeldoc-logo.svg
Log Message:
Index: babeldoc-logo.svg
===================================================================
RCS file: /cvsroot/babeldoc/babeldoc/readme/babeldoc-logo.svg,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** babeldoc-logo.svg 7 Aug 2003 03:51:55 -0000 1.1
--- babeldoc-logo.svg 7 Aug 2003 03:52:07 -0000 1.2
***************
*** 60,64 ****
style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1.875;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"
d="M 84.5426 273.076 L 93.2919 202.948 "
! id="path126"transform="translate(24.5082,-96.4683)" />
<path
style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1.875;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"
--- 60,64 ----
style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1.875;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"
d="M 84.5426 273.076 L 93.2919 202.948 "
! id="path126" transform="translate(24.5082,-96.4683)" />
<path
style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1.875;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"
|
|
From: <tr...@us...> - 2003-08-07 03:51:58
|
Update of /cvsroot/babeldoc/babeldoc/readme In directory sc8-pr-cvs1:/tmp/cvs-serv17882 Added Files: babeldoc-logo.svg Log Message: Added the babeldoc logo as svg --- NEW FILE: babeldoc-logo.svg --- <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <!-- Created with Sodipodi ("http://www.sodipodi.com/") --> <svg width="300" height="400" id="svg101" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <path d="M60,10 l230,0 0,380 -280,0 -0,-328" style="fill:white; stroke:#000099; stroke-width:4" id="path102" /> <path d="M10,62 l50,0 0,-50 -50,50" style="fill:#CCCCFF; stroke:#000099; stroke-width:4" id="path103" transform="matrix(0.973267,0,0,1.01003,-0.400998,0.715103)" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1.92019;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" d="M 70.0052 276.247 C 156.801 272.191 279.816 221.416 206.956 205.678 " id="path116" transform="matrix(0.953488,0,0,1,3.34532,0)" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:2.07289;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" d="M 235.962 277.603 L 222.082 219.558 " id="path117" transform="matrix(0.818179,0,0,1,40.3788,0)" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1.92019;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" d="M 77.2178 287.698 C 162.92 276.342 218.734 249.015 217.411 229.04 " id="path119" transform="matrix(0.953488,0,0,1,-4.2256,-11.3564)" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:2.07289;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" d="M 235.962 277.603 L 220.54 209.463 " id="path120" transform="matrix(0.818179,0,0,1,10.0949,-59.306)" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1.875;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" d="M 84.5426 273.562 L 95.5399 177.235 " id="path121" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.58224;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" d="M 67.7224 277.603 C 149.951 282.251 290.631 216.671 195.702 197.201 " id="path123" transform="matrix(0.600604,0,0,0.456146,53.9628,51.2911)" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.58224;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" d="M 67.7224 277.603 C 114.354 276.535 198.504 248.26 199.23 217.921 " id="path124" transform="matrix(0.600604,0,0,0.456146,53.9628,51.2911)" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:2.07289;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" d="M 235.665 276.549 L 223.188 232.094 " id="path125" transform="matrix(0.818179,0,0,1,-19.1063,-125.53)"/> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1.875;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" d="M 84.5426 273.076 L 93.2919 202.948 " id="path126"transform="translate(24.5082,-96.4683)" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1.875;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" d="M 116.987 107.285 L 164.405 107.042 " id="path132"/> </svg> |
|
From: <tr...@us...> - 2003-08-06 23:33:10
|
Update of /cvsroot/babeldoc/babeldoc/modules/core/lib In directory sc8-pr-cvs1:/tmp/cvs-serv13958/lib Modified Files: versions xalan.jar xerces.jar xml-apis.jar Log Message: Updated the xalan and xerces jars. Index: versions =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/core/lib/versions,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** versions 31 May 2003 01:17:58 -0000 1.3 --- versions 6 Aug 2003 23:33:05 -0000 1.4 *************** *** 5,6 **** --- 5,10 ---- Jakarta:commons-discovery.jar:0.2.0 Jakarta:commons-httpclient.jar:2.0beta1 + + Apache:xalan.jar:2.5.1 + Apache:xerces.jar:2.5.0 + Index: xalan.jar =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/core/lib/xalan.jar,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 Binary files /tmp/cvsGT3Zkd and /tmp/cvs2LgU2r differ Index: xerces.jar =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/core/lib/xerces.jar,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 Binary files /tmp/cvsMvZBiw and /tmp/cvskhvM06 differ Index: xml-apis.jar =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/core/lib/xml-apis.jar,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 Binary files /tmp/cvsNqJA1P and /tmp/cvs0lkyav differ |
|
From: <tr...@us...> - 2003-08-06 23:33:09
|
Update of /cvsroot/babeldoc/babeldoc/modules/core/src/com/babeldoc/core
In directory sc8-pr-cvs1:/tmp/cvs-serv13958/src/com/babeldoc/core
Modified Files:
VelocityUtilityContext.java
Log Message:
Updated the xalan and xerces jars.
Index: VelocityUtilityContext.java
===================================================================
RCS file: /cvsroot/babeldoc/babeldoc/modules/core/src/com/babeldoc/core/VelocityUtilityContext.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** VelocityUtilityContext.java 19 Jul 2003 15:32:27 -0000 1.10
--- VelocityUtilityContext.java 6 Aug 2003 23:33:06 -0000 1.11
***************
*** 288,292 ****
*/
public String fromBase64(String string) {
! return Base64.decode(string);
}
--- 288,292 ----
*/
public String fromBase64(String string) {
! return Base64.decode(string).toString();
}
|
|
From: David G. <dg...@co...> - 2003-08-06 18:22:43
|
Thanks, Jonathon. I'll review your comments along with the examples and see what I can come up with. David On Wednesday 06 August 2003 11:05 am, Leech, Jonathan wrote: > I don't have anything I can show you from the config file, but the > responses I get are XML documents, so > in general I use XSL Transform pipeline stages to transform them into what > I want. For example, I get a response back, do an XSL transformation on it > to convert it into a bunch of SQL insert statements, and then run the > SQLWriter pipeline stage. Another thing you could do is use the XPath > extract pipeline stage, which lets you read values out of the document and > put them into document attributes. > > -Jonathan > > -----Original Message----- > From: David Glick [mailto:dg...@co...] > Sent: Wednesday, August 06, 2003 12:04 PM > To: bab...@li... > Subject: Re: [Babeldoc-devel] Babeldoc soap support question(s) > > > Hi Jonathan, > > I've modified SoapWriterPipelineStage to match HttpClientPipelineStage in > how > it handles response documents (I've also added a boolean option responseDoc > that defaults to false, so that the old behavior is maintained). However, > I'm not sure how to actually USE the response document in a pipeline. > Would > > you have a snippet of your config file where you set up the > HttpClientPipelineStage and the following stage(s) that process the > response > > that I could review? > > > Thanks for your help, > > David > > On Wednesday 06 August 2003 10:09 am, David Glick wrote: > > Thanks for the pointer, Jonathan. I'm reviewing it now. > > > > On Wednesday 06 August 2003 9:50 am, Leech, Jonathan wrote: > > > I'm not sure about all the details of SOAP, but I just wrote an > > > HttpClientPipelineStage that's pretty generic, and it makes a document > > > out of the reply. You might want to take a look at it, its located in > > > the web module. > > > > > > -Jonathan > > > > > > -----Original Message----- > > > From: David Glick [mailto:dg...@co...] > > > Sent: Wednesday, August 06, 2003 10:52 AM > > > To: bab...@li... > > > Subject: [Babeldoc-devel] Babeldoc soap support question(s) > > > > > > > > > I'll be building an interface to a soap web service API, and therefore > > > I thought I should stop futzing around and actually look into building > > > the pipeline. In starting to review the soap stuff, I've come across > > > the some issues that I would appreciate those with years of experience > > > (or even weeks > > > > > > will work) to comment on. > > > > > > I need to go through a (relatively) complicated process as follows: > > > > > > a. post soap document. Response is either transaction id or failure > > > code. b. if transaction id, post soap queries for status of transaction > > > until status > > > = done. > > > c. if failure code, indicate failure through some magic that I haven't > > > thought > > > of yet. > > > > > > I have the following questions: > > > > > > 1. The current soap writer ignores the reply. I'll need to change > > > that, but > > > > > > I'd like to implement it such that it can be as generic as possible. > > > Is there a description somewhere of how a stage writer should act? Or, > > > lacking > > > > > > that, which is the best stage writer to use as a template for how the > > > SoapWriter should be modified? > > > > > > 2. How should the reply be handled? Is there some current stage that I > > > can use, or will I need to create my own stage to process the reply? > > > If I need to roll my own, is there some guide lines to make it generic > > > for general use, > > > or should I just make it specific to my needs? > > > > > > > > > Thanks, > > > > > > David -- David Glick Transmit Consulting, Inc 619-475-4052 dg...@tr... |
|
From: Leech, J. <jl...@vi...> - 2003-08-06 18:06:38
|
I don't have anything I can show you from the config file, but the responses I get are XML documents, so in general I use XSL Transform pipeline stages to transform them into what I want. For example, I get a response back, do an XSL transformation on it to convert it into a bunch of SQL insert statements, and then run the SQLWriter pipeline stage. Another thing you could do is use the XPath extract pipeline stage, which lets you read values out of the document and put them into document attributes. -Jonathan -----Original Message----- From: David Glick [mailto:dg...@co...] Sent: Wednesday, August 06, 2003 12:04 PM To: bab...@li... Subject: Re: [Babeldoc-devel] Babeldoc soap support question(s) Hi Jonathan, I've modified SoapWriterPipelineStage to match HttpClientPipelineStage in how it handles response documents (I've also added a boolean option responseDoc that defaults to false, so that the old behavior is maintained). However, I'm not sure how to actually USE the response document in a pipeline. Would you have a snippet of your config file where you set up the HttpClientPipelineStage and the following stage(s) that process the response that I could review? Thanks for your help, David On Wednesday 06 August 2003 10:09 am, David Glick wrote: > Thanks for the pointer, Jonathan. I'm reviewing it now. > > On Wednesday 06 August 2003 9:50 am, Leech, Jonathan wrote: > > I'm not sure about all the details of SOAP, but I just wrote an > > HttpClientPipelineStage that's pretty generic, and it makes a document > > out of the reply. You might want to take a look at it, its located in > > the web module. > > > > -Jonathan > > > > -----Original Message----- > > From: David Glick [mailto:dg...@co...] > > Sent: Wednesday, August 06, 2003 10:52 AM > > To: bab...@li... > > Subject: [Babeldoc-devel] Babeldoc soap support question(s) > > > > > > I'll be building an interface to a soap web service API, and therefore I > > thought I should stop futzing around and actually look into building the > > pipeline. In starting to review the soap stuff, I've come across the > > some issues that I would appreciate those with years of experience (or > > even weeks > > > > will work) to comment on. > > > > I need to go through a (relatively) complicated process as follows: > > > > a. post soap document. Response is either transaction id or failure > > code. b. if transaction id, post soap queries for status of transaction > > until status > > = done. > > c. if failure code, indicate failure through some magic that I haven't > > thought > > of yet. > > > > I have the following questions: > > > > 1. The current soap writer ignores the reply. I'll need to change that, > > but > > > > I'd like to implement it such that it can be as generic as possible. Is > > there a description somewhere of how a stage writer should act? Or, > > lacking > > > > that, which is the best stage writer to use as a template for how the > > SoapWriter should be modified? > > > > 2. How should the reply be handled? Is there some current stage that I > > can use, or will I need to create my own stage to process the reply? If > > I need to roll my own, is there some guide lines to make it generic for > > general use, > > or should I just make it specific to my needs? > > > > > > Thanks, > > > > David -- David Glick Transmit Consulting, Inc 619-475-4052 dg...@tr... ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Babeldoc-devel mailing list Bab...@li... https://lists.sourceforge.net/lists/listinfo/babeldoc-devel |
|
From: David G. <dg...@co...> - 2003-08-06 17:52:56
|
Hi Jonathan, I've modified SoapWriterPipelineStage to match HttpClientPipelineStage in how it handles response documents (I've also added a boolean option responseDoc that defaults to false, so that the old behavior is maintained). However, I'm not sure how to actually USE the response document in a pipeline. Would you have a snippet of your config file where you set up the HttpClientPipelineStage and the following stage(s) that process the response that I could review? Thanks for your help, David On Wednesday 06 August 2003 10:09 am, David Glick wrote: > Thanks for the pointer, Jonathan. I'm reviewing it now. > > On Wednesday 06 August 2003 9:50 am, Leech, Jonathan wrote: > > I'm not sure about all the details of SOAP, but I just wrote an > > HttpClientPipelineStage that's pretty generic, and it makes a document > > out of the reply. You might want to take a look at it, its located in > > the web module. > > > > -Jonathan > > > > -----Original Message----- > > From: David Glick [mailto:dg...@co...] > > Sent: Wednesday, August 06, 2003 10:52 AM > > To: bab...@li... > > Subject: [Babeldoc-devel] Babeldoc soap support question(s) > > > > > > I'll be building an interface to a soap web service API, and therefore I > > thought I should stop futzing around and actually look into building the > > pipeline. In starting to review the soap stuff, I've come across the > > some issues that I would appreciate those with years of experience (or > > even weeks > > > > will work) to comment on. > > > > I need to go through a (relatively) complicated process as follows: > > > > a. post soap document. Response is either transaction id or failure > > code. b. if transaction id, post soap queries for status of transaction > > until status > > = done. > > c. if failure code, indicate failure through some magic that I haven't > > thought > > of yet. > > > > I have the following questions: > > > > 1. The current soap writer ignores the reply. I'll need to change that, > > but > > > > I'd like to implement it such that it can be as generic as possible. Is > > there a description somewhere of how a stage writer should act? Or, > > lacking > > > > that, which is the best stage writer to use as a template for how the > > SoapWriter should be modified? > > > > 2. How should the reply be handled? Is there some current stage that I > > can use, or will I need to create my own stage to process the reply? If > > I need to roll my own, is there some guide lines to make it generic for > > general use, > > or should I just make it specific to my needs? > > > > > > Thanks, > > > > David -- David Glick Transmit Consulting, Inc 619-475-4052 dg...@tr... |
|
From: David G. <dg...@co...> - 2003-08-06 16:58:29
|
Thanks for the pointer, Jonathan. I'm reviewing it now. On Wednesday 06 August 2003 9:50 am, Leech, Jonathan wrote: > I'm not sure about all the details of SOAP, but I just wrote an > HttpClientPipelineStage that's pretty generic, and it makes a document out > of the reply. You might want to take a look at it, its located in the web > module. > > -Jonathan > > -----Original Message----- > From: David Glick [mailto:dg...@co...] > Sent: Wednesday, August 06, 2003 10:52 AM > To: bab...@li... > Subject: [Babeldoc-devel] Babeldoc soap support question(s) > > > I'll be building an interface to a soap web service API, and therefore I > thought I should stop futzing around and actually look into building the > pipeline. In starting to review the soap stuff, I've come across the some > issues that I would appreciate those with years of experience (or even > weeks > > will work) to comment on. > > I need to go through a (relatively) complicated process as follows: > > a. post soap document. Response is either transaction id or failure code. > b. if transaction id, post soap queries for status of transaction until > status > = done. > c. if failure code, indicate failure through some magic that I haven't > thought > of yet. > > I have the following questions: > > 1. The current soap writer ignores the reply. I'll need to change that, > but > > I'd like to implement it such that it can be as generic as possible. Is > there a description somewhere of how a stage writer should act? Or, > lacking > > that, which is the best stage writer to use as a template for how the > SoapWriter should be modified? > > 2. How should the reply be handled? Is there some current stage that I can > use, or will I need to create my own stage to process the reply? If I need > to roll my own, is there some guide lines to make it generic for general > use, > or should I just make it specific to my needs? > > > Thanks, > > David -- David Glick Transmit Consulting, Inc 619-475-4052 dg...@tr... |
|
From: Leech, J. <jl...@vi...> - 2003-08-06 16:57:35
|
I'm not sure about all the details of SOAP, but I just wrote an HttpClientPipelineStage that's pretty generic, and it makes a document out of the reply. You might want to take a look at it, its located in the web module. -Jonathan -----Original Message----- From: David Glick [mailto:dg...@co...] Sent: Wednesday, August 06, 2003 10:52 AM To: bab...@li... Subject: [Babeldoc-devel] Babeldoc soap support question(s) I'll be building an interface to a soap web service API, and therefore I thought I should stop futzing around and actually look into building the pipeline. In starting to review the soap stuff, I've come across the some issues that I would appreciate those with years of experience (or even weeks will work) to comment on. I need to go through a (relatively) complicated process as follows: a. post soap document. Response is either transaction id or failure code. b. if transaction id, post soap queries for status of transaction until status = done. c. if failure code, indicate failure through some magic that I haven't thought of yet. I have the following questions: 1. The current soap writer ignores the reply. I'll need to change that, but I'd like to implement it such that it can be as generic as possible. Is there a description somewhere of how a stage writer should act? Or, lacking that, which is the best stage writer to use as a template for how the SoapWriter should be modified? 2. How should the reply be handled? Is there some current stage that I can use, or will I need to create my own stage to process the reply? If I need to roll my own, is there some guide lines to make it generic for general use, or should I just make it specific to my needs? Thanks, David -- David Glick Transmit Consulting, Inc 619-475-4052 dg...@tr... ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Babeldoc-devel mailing list Bab...@li... https://lists.sourceforge.net/lists/listinfo/babeldoc-devel |
|
From: David G. <dg...@co...> - 2003-08-06 16:40:42
|
I'll be building an interface to a soap web service API, and therefore I thought I should stop futzing around and actually look into building the pipeline. In starting to review the soap stuff, I've come across the some issues that I would appreciate those with years of experience (or even weeks will work) to comment on. I need to go through a (relatively) complicated process as follows: a. post soap document. Response is either transaction id or failure code. b. if transaction id, post soap queries for status of transaction until status = done. c. if failure code, indicate failure through some magic that I haven't thought of yet. I have the following questions: 1. The current soap writer ignores the reply. I'll need to change that, but I'd like to implement it such that it can be as generic as possible. Is there a description somewhere of how a stage writer should act? Or, lacking that, which is the best stage writer to use as a template for how the SoapWriter should be modified? 2. How should the reply be handled? Is there some current stage that I can use, or will I need to create my own stage to process the reply? If I need to roll my own, is there some guide lines to make it generic for general use, or should I just make it specific to my needs? Thanks, David -- David Glick Transmit Consulting, Inc 619-475-4052 dg...@tr... |
|
From: Dejan K. <dej...@nb...> - 2003-08-06 12:59:29
|
Note that every module can have its own service/query.properties file. So scanner workers are not defined in service/config.properties of core module but in scanner module. These file are merged together in runtime Dejan ----- Original Message ----- From: "David Glick" <dg...@co...> To: <bab...@li...> Sent: Wednesday, August 06, 2003 3:05 PM Subject: Re: [Babeldoc-devel] Scanner tool and '-h' option? > That service/query.properties file is a great source of information about how > the system operates. Based on the name alone, I didn't pay any attention to > it previously. I guess I'll spend some time with it now... :-) Thanks! > > On Wednesday 06 August 2003 5:37 am, Dejan Krsmanovic wrote: > > Hi David! > > > > > Hi Dejan, > > > > > > My opinion is to avoid multiple exit points in programs where possible, > > > > even > > > > > though this is a trivial case and probably won't make much of an impact. > > > > As > > > > > an alternative, what about throwing an ApplicationExit() exception that > > > > can > > > > > be caught by BabeldocCommand to exit? If you think this is overly > > > complicated, then I'm fine with System.exit() in printUsage(). > > > > I would not use exceptions in this case. In fact I think if we apply idea > > that I suggested (abstract method and Holywood principle) there will be no > > need for mutiple exit points, too. > > > > > I also agree that the current classes that extend BabeldocCommand should > > > > be > > > > > refactored; I've discovered at least one side effect that is causing > > > > problems > > > > > in Scanner, and will probably lead to further problems elsewhere in the > > > future. > > > > > > Responding to your questions with questions of my own: > > > > > > 1. I'm not yet very familiar with the structure of the program, but if > > > BabeldocCommand is made abstract, what happens when the user types > > > > "babeldoc > > > > > -h" ? In this instance (heh, heh), will a BabeldocCommand class be > > > instantiated? > > > > Hmm. Try it ;) > > Anyway enrty point in program is com.babeldoc.core.Main class and it will > > make instance based on provided argument and appropriate class. Mapping > > between program argument and command classes can be found in > > service/query.properties file. So, BabeldocCommand cannot be instantiated > > since it does not exist in this mapping! > > > > > 2. I agree with this point. It seems that the purpose of the current > > > implementation is to perform some common pre-processing for all the > > > tools, and I think that it would be relatively easy to restructure things > > > so that the 'Hollywood Principle" applies (this principle, as detailed by > > > the > > > > great > > > > > and wise Dejan Krsmanovic in his excellent programming book "How Your > > > > Lousy > > > > > Programming Is Helping Me Retire to a Life of Sin and Decadence", > > > > describes > > > > > some of the fundamental reasons that he's rich and we're not). > > > > Can you send me pdf version of that book, please! ;) > > > > Dejan > > > > > 3. I think this is generally good programming practice, and makes it much > > > easier for those trying to understand the implementation of the system > > > > (i.e. > > > > > me). > > > > > > > > > David > > > > > > On Wednesday 06 August 2003 2:27 am, Dejan Krsmanovic wrote: > > > > After looking at code you have commited I doubt if this is really good > > > > solution... Since h option belongs to parrent class, BabeldocCommand, I > > > > guess that class is right place for handling this situation, otherwise, > > > > all > > > > > > other commands might need dealing with it. So, what do you think about > > > > having System.exit call inside printUsage method? > > > > > > > > Also, some refactoring is probably needed inside BabeldocCommand class. > > > > There are few things that I don't like right now: > > > > 1. This should be abstract class, right? Making BabeldocCommand > > > > instance does not make a sence. > > > > 2. We should not expect that subclasses will call super implementation > > > > when > > > > > > overide some method. For example in current implementation, subclass > > > > should > > > > > > call super.execute() when overriding execute() method. Better solution > > > > would be "Don't call me - I'll call you!" (Hollywood) principle. That > > > > is, > > > > > > BabeldocCommand should have one method, for example > > > > executeBabeldocCommand() that should call abstract execute() method. > > > > That > > > > > > way, subclass will be forced to implement execute(), and it should not > > > > worry about super implementation if it does not need to change default > > > > behaviour. > > > > 3. We should make all methods that subclasses need to implement > > > > abstract. > > > > > > That way we can make sure that it will be implemented. > > > > > > > > What do you think about this? I think it is quite easy to change this, > > > > but > > > > > > since many classes extend this class we need to agree with it! > > > > > > > > Dejan > > > > > > > > > > > > ----- Original Message ----- > > > > From: "David Glick" <dg...@co...> > > > > To: <bab...@li...> > > > > Sent: Wednesday, August 06, 2003 2:46 AM > > > > Subject: [Babeldoc-devel] Scanner tool and '-h' option? > > > > > > > > > It's normal for a program that prints a help screen to end so that it > > > > can > > > > > > be > > > > > > > > > re-run with options. The process tool, for example, does this, but > > > > the > > > > > > > scanner tool will print the help options and then continue to > > > > > execute. Is this the intended functionality? If not, I'd be happy to > > > > > change > > > > it, > > > > > > because > > > > > > > > > it's driving me slightly batty... :-) > > > > > > > > > > > > > > > David > > > > > > > > > > -- > > > > > David Glick > > > > > Transmit Consulting, Inc > > > > > 619-475-4052 > > > > > dg...@tr... > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > > This SF.Net email sponsored by: Free pre-built ASP.NET sites > > > > > including Data Reports, E-commerce, Portals, and Forums are available > > > > > now. Download today and enter to win an XBOX or Visual Studio .NET. > > > > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > > > > > > > _______________________________________________ > > > > > Babeldoc-devel mailing list > > > > > Bab...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel > > > > > > > > ------------------------------------------------------- > > > > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > > > > Data Reports, E-commerce, Portals, and Forums are available now. > > > > Download today and enter to win an XBOX or Visual Studio .NET. > > > > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > > > > > > _______________________________________________ > > > > Babeldoc-devel mailing list > > > > Bab...@li... > > > > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel > > > > > > -- > > > David Glick > > > Transmit Consulting, Inc > > > 619-475-4052 > > > dg...@tr... > > > > ------------------------------------------------------- > > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > > Data Reports, E-commerce, Portals, and Forums are available now. > > Download today and enter to win an XBOX or Visual Studio .NET. > > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > > _______________________________________________ > > Babeldoc-devel mailing list > > Bab...@li... > > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel > > -- > David Glick > Transmit Consulting, Inc > 619-475-4052 > dg...@tr... > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > Babeldoc-devel mailing list > Bab...@li... > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel |
|
From: David G. <dg...@co...> - 2003-08-06 12:54:27
|
That service/query.properties file is a great source of information about how the system operates. Based on the name alone, I didn't pay any attention to it previously. I guess I'll spend some time with it now... :-) Thanks! On Wednesday 06 August 2003 5:37 am, Dejan Krsmanovic wrote: > Hi David! > > > Hi Dejan, > > > > My opinion is to avoid multiple exit points in programs where possible, > > even > > > though this is a trivial case and probably won't make much of an impact. > > As > > > an alternative, what about throwing an ApplicationExit() exception that > > can > > > be caught by BabeldocCommand to exit? If you think this is overly > > complicated, then I'm fine with System.exit() in printUsage(). > > I would not use exceptions in this case. In fact I think if we apply idea > that I suggested (abstract method and Holywood principle) there will be no > need for mutiple exit points, too. > > > I also agree that the current classes that extend BabeldocCommand should > > be > > > refactored; I've discovered at least one side effect that is causing > > problems > > > in Scanner, and will probably lead to further problems elsewhere in the > > future. > > > > Responding to your questions with questions of my own: > > > > 1. I'm not yet very familiar with the structure of the program, but if > > BabeldocCommand is made abstract, what happens when the user types > > "babeldoc > > > -h" ? In this instance (heh, heh), will a BabeldocCommand class be > > instantiated? > > Hmm. Try it ;) > Anyway enrty point in program is com.babeldoc.core.Main class and it will > make instance based on provided argument and appropriate class. Mapping > between program argument and command classes can be found in > service/query.properties file. So, BabeldocCommand cannot be instantiated > since it does not exist in this mapping! > > > 2. I agree with this point. It seems that the purpose of the current > > implementation is to perform some common pre-processing for all the > > tools, and I think that it would be relatively easy to restructure things > > so that the 'Hollywood Principle" applies (this principle, as detailed by > > the > > great > > > and wise Dejan Krsmanovic in his excellent programming book "How Your > > Lousy > > > Programming Is Helping Me Retire to a Life of Sin and Decadence", > > describes > > > some of the fundamental reasons that he's rich and we're not). > > Can you send me pdf version of that book, please! ;) > > Dejan > > > 3. I think this is generally good programming practice, and makes it much > > easier for those trying to understand the implementation of the system > > (i.e. > > > me). > > > > > > David > > > > On Wednesday 06 August 2003 2:27 am, Dejan Krsmanovic wrote: > > > After looking at code you have commited I doubt if this is really good > > > solution... Since h option belongs to parrent class, BabeldocCommand, I > > > guess that class is right place for handling this situation, otherwise, > > all > > > > other commands might need dealing with it. So, what do you think about > > > having System.exit call inside printUsage method? > > > > > > Also, some refactoring is probably needed inside BabeldocCommand class. > > > There are few things that I don't like right now: > > > 1. This should be abstract class, right? Making BabeldocCommand > > > instance does not make a sence. > > > 2. We should not expect that subclasses will call super implementation > > when > > > > overide some method. For example in current implementation, subclass > > should > > > > call super.execute() when overriding execute() method. Better solution > > > would be "Don't call me - I'll call you!" (Hollywood) principle. That > > is, > > > > BabeldocCommand should have one method, for example > > > executeBabeldocCommand() that should call abstract execute() method. > > That > > > > way, subclass will be forced to implement execute(), and it should not > > > worry about super implementation if it does not need to change default > > > behaviour. > > > 3. We should make all methods that subclasses need to implement > > abstract. > > > > That way we can make sure that it will be implemented. > > > > > > What do you think about this? I think it is quite easy to change this, > > but > > > > since many classes extend this class we need to agree with it! > > > > > > Dejan > > > > > > > > > ----- Original Message ----- > > > From: "David Glick" <dg...@co...> > > > To: <bab...@li...> > > > Sent: Wednesday, August 06, 2003 2:46 AM > > > Subject: [Babeldoc-devel] Scanner tool and '-h' option? > > > > > > > It's normal for a program that prints a help screen to end so that it > > can > > > > be > > > > > > > re-run with options. The process tool, for example, does this, but > > the > > > > > scanner tool will print the help options and then continue to > > > > execute. Is this the intended functionality? If not, I'd be happy to > > > > change > > it, > > > > because > > > > > > > it's driving me slightly batty... :-) > > > > > > > > > > > > David > > > > > > > > -- > > > > David Glick > > > > Transmit Consulting, Inc > > > > 619-475-4052 > > > > dg...@tr... > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > This SF.Net email sponsored by: Free pre-built ASP.NET sites > > > > including Data Reports, E-commerce, Portals, and Forums are available > > > > now. Download today and enter to win an XBOX or Visual Studio .NET. > > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > > > > > _______________________________________________ > > > > Babeldoc-devel mailing list > > > > Bab...@li... > > > > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel > > > > > > ------------------------------------------------------- > > > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > > > Data Reports, E-commerce, Portals, and Forums are available now. > > > Download today and enter to win an XBOX or Visual Studio .NET. > > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > > > > _______________________________________________ > > > Babeldoc-devel mailing list > > > Bab...@li... > > > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel > > > > -- > > David Glick > > Transmit Consulting, Inc > > 619-475-4052 > > dg...@tr... > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > Babeldoc-devel mailing list > Bab...@li... > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel -- David Glick Transmit Consulting, Inc 619-475-4052 dg...@tr... |
|
From: <tr...@us...> - 2003-08-06 12:48:51
|
Update of /cvsroot/babeldoc/babeldoc/readme/userguide In directory sc8-pr-cvs1:/tmp/cvs-serv12974 Modified Files: chapter1.xml Log Message: updated some documentation - added section on configuration. Index: chapter1.xml =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/readme/userguide/chapter1.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** chapter1.xml 30 Jul 2003 23:24:06 -0000 1.2 --- chapter1.xml 6 Aug 2003 12:48:48 -0000 1.3 *************** *** 18,22 **** <para>Additionally the issue with document processing sometimes fails and then the issue is how do you react? <productname>Babeldoc</productname> has a very sophisticated journaling function that can allow administrators to reintroduce documents into any place in the pipeline.</para> </section> ! <section> <title>Fundamental terms and expressions</title> --- 18,22 ---- <para>Additionally the issue with document processing sometimes fails and then the issue is how do you react? <productname>Babeldoc</productname> has a very sophisticated journaling function that can allow administrators to reintroduce documents into any place in the pipeline.</para> </section> ! <section> <title>Fundamental terms and expressions</title> *************** *** 80,84 **** <para>(WINDOWS) c:> bin\babeldoc pipeline</para> </userinput> ! <para>The options for the pipeline tool will be printed to the screen. Please experiment with this tool. For interrogating the configurations on, say the , stage, issue the command:</para> <userinput> <para>(UNIX) $ bin/babeldoc pipeline -C test.extract</para> --- 80,84 ---- <para>(WINDOWS) c:> bin\babeldoc pipeline</para> </userinput> ! <para>The options for the pipeline tool will be printed to the screen. Please experiment with this tool. For interrogating the configurations on, say the <userinput>extract</userinput>, stage, issue the command:</para> <userinput> <para>(UNIX) $ bin/babeldoc pipeline -C test.extract</para> *************** *** 120,133 **** <para>For this step to correctly work, please create two directories:</para> <itemizedlist> ! <listitem>(UNIX) <userinput>/tmp/in</userinput> and <userinput>/tmp/done</userinput> ! </listitem> <listitem>(WINDOWS) <userinput>\tmp\in</userinput> and <userinput>\tmp\done</userinput> on the same partition as your <productname>Babeldoc</productname> installlation</listitem> </itemizedlist> <para>Start the scanner as follows:</para> <itemizedlist> ! <listitem>(UNIX) <userinput>$ bin/babeldoc scanner</userinput> ! </listitem> ! <listitem>(WINDOWS) <userinput>c:> bin\babeldoc scanner</userinput> ! </listitem> </itemizedlist> <para>The scanner will print a few informational lines to the screen and then wait for files to be placed in the in directory. Copy the file to the <userinput>/tmp/in</userinput> directory and within 1 second, the scanner will recognize the new file. The scanner will read in the file, move the file to the done directory and then submit the document to the </para> --- 120,130 ---- <para>For this step to correctly work, please create two directories:</para> <itemizedlist> ! <listitem>(UNIX) <userinput>/tmp/in</userinput> and <userinput>/tmp/done</userinput></listitem> <listitem>(WINDOWS) <userinput>\tmp\in</userinput> and <userinput>\tmp\done</userinput> on the same partition as your <productname>Babeldoc</productname> installlation</listitem> </itemizedlist> <para>Start the scanner as follows:</para> <itemizedlist> ! <listitem>(UNIX) <userinput>$ bin/babeldoc scanner</userinput></listitem> ! <listitem>(WINDOWS) <userinput>c:> bin\babeldoc scanner</userinput></listitem> </itemizedlist> <para>The scanner will print a few informational lines to the screen and then wait for files to be placed in the in directory. Copy the file to the <userinput>/tmp/in</userinput> directory and within 1 second, the scanner will recognize the new file. The scanner will read in the file, move the file to the done directory and then submit the document to the </para> *************** *** 135,137 **** --- 132,199 ---- </section> </section> + + <section> + <title>Modules</title> + <para><productname>Babeldoc</productname> is a modular piece of software. Each of the modules in babeldoc successively add and refine its operation. Although a module participates both in the runtime and build of <productname>Babeldoc</productname>, this document is concerned with the runtime aspects of modules.</para> + </section> + + <section> + <title>Configuration</title> + <para>All configuration data within <productname>Babeldoc</productname> is handled in a structured fashion. Every configuration key must be contained in a configuration file. The configuration file is hierarchically arranged very similar to a regular filesystem file in directories and subdirectories. The "directory" part of the configuration file name is specified as UNIX style forward slashes separating directory names. The configuration key is a string which must be unique in a configuration file. An example of this is the configuration key: <userinput>Journal.simple</userinput> which is defined in the configuration file: <userinput>service/config</userinput>.</para> + <section> + <title>LightConfig</title> + <para>The configuration implementation of <productname>Babeldoc</productname> is configurable but the default configuration implementation is the <userinput>LightConfig</userinput>. This stores the configuration data in properties files which are then hierarchically arranged into directories. The files may be stored on the local filesystem or in archive (JAR) files</para> + <para>The lightconfiguration implementation also has the very interesting and sometimes perplexing ability to merge configuration files with the same name into a single configuration file. This means that configuration file data does not overwrite data except where the configuration key is identical. In this case, the configuration file that is specified at the end of the configuration search path is dominant. This is logical and is consistent with how the PATH (or CLASSPATH) environment variable is used by the command processor to search for executables except that instead of the first match overriding all else, all of the matches are merged into a single "file".</para> + <para>The configuration searchpath is very important and is used by <productname>Babeldoc</productname> to determine where to find the configuration data and how to load it. The parts of the search path are given below:</para> + <itemizedlist> + <listitem>module dependency: The module dependencies determine the builtin searchpath. This cannot be changed by the user except by excluding modules from <productname>Babeldoc</productname> runtime. The module search path moves from the core module to the most dependant module. In other words, a configuration key in a configuration file in the most dependant module will override the same key in the same file in the core module. This is important to how dependant modules "specialize" <productname>Babeldoc</productname> behavior.</listitem> + <listitem>BABELDOC_HOME: This environment variable is set by the user to indicate those directories which contain configuration information. This environment variable is structured just as the CLASSPATH variable is. The earlier path elements indicate less dominant paths. It is very important for projects to set this variable to either a directory or a JAR file which contains your configuration settings.</listitem> + <listitem>current directory: The current directory is automatically added to the configuration search path for convenience reasons.</listitem> + </itemizedlist> + <para>There are times when the configuration is not working as expected. There is a small commandline tool which makes it easier to inspect the configuration files and how each configuration key is modified in the configuration file. The tool, <userinput>lightconfig</userinput> is illustrated below: </para> + <example> + <title>Listing configuration data</title> + <userinput> + <para>(UNIX) $ bin/babeldoc lightconfig -l pipeline/config</para> + <para>(WINDOWS) c:> bin\babeldoc lightconfig -l pipeline/config</para> + </userinput> + <para>The location of the configuration file <userinput>pipeline/config.properties</userinput> in each of the parts in the configuration search is then listed. A typical output would be:</para> + <computeroutput> + <para>Listing urls for the configuration: pipeline/config.properties</para> + <para>1: jar:file:/c:/download/babeldoc/build/lib/babeldoc_core.jar!/core/pipeline/config.properties</para> + <para>0: file:/C:/work/vap_rpt/./pipeline/config.properties</para> + </computeroutput> + <para>This output indicates that the file pipeline/config.properties exists in the babeldoc_core.jar file and is then overriden in the directory: C:/work/vap_rpt</para> + </example> + <example> + <title>Tracing a configuration key</title> + <userinput> + <para>(UNIX) $ bin/babeldoc lightconfig -l pipeline/config -t documentation.type</para> + <para>(WINDOWS) c:> bin\babeldoc lightconfig -l pipeline/config -t documentation.type</para> + </userinput> + <para>This traces how a particular configuration key (<userinput>documentation.type</userinput>) found in the configuration file: <userinput>pipeline/config.properties</userinput> is modified in all the possible configuration files. A typical output would be:</para> + <computeroutput> + <para>Listing urls for the configuration: pipeline/config.properties</para> + <para>1: jar:file:/c:/download/babeldoc/build/lib/babeldoc_core.jar!/core/pipeline/config.properties</para> + <para> documentation.type = simple</para> + <para>0: file:/C:/work/vap_rpt/./pipeline/config.properties</para> + <para> documentation.type: not defined</para> + </computeroutput> + <para>This output indicates that the configuration key is defined once in the babeldoc_core.jar file and is not subsequently overriden.</para> + </example> + + <section> + <title>Setting up a new project</title> + <para>This section briefly describes the steps necessary to setup a new babeldoc project. It is assumed that <productname>Babeldoc</productname> is installed in c:\babeldoc.</para> + <itemizedlist> + <listitem>Create a project directory: c:\project (for instance)</listitem> + <listitem>Add the following variables to you environment</listitem> + <listitem>BABELDOC_HOME - This variable must point to the root of your babeldoc binary installation, <userinput>c:\babeldoc</userinput>. At minimum it must contain the bin and lib directories. The bin directory must contain the babeldoc run scripts and the lib directory must contain all the babeldoc Java archive (JAR)files</listitem> + <listitem>BABELDOC_USER - This variable must point to your project directory, <userinput>c:\project</userinput>, in this case</listitem> + <listitem>PATH - Add the <userinput>c:\babeldoc\bin</userinput> directory to your path. This is not absolutely required, but will make running babeldoc easier by cutting down the commandline length</listitem> + <listitem>Add the configuration directories the the <userinput>c:\project</userinput> directory. These could include <userinput>pipeline</userinput>, <userinput>journal</userinput>, etc </listitem> + </itemizedlist> + </section> + </section> + </section> </chapter> |
|
From: Dejan K. <dej...@nb...> - 2003-08-06 12:39:36
|
Hi David! > Hi Dejan, > > My opinion is to avoid multiple exit points in programs where possible, even > though this is a trivial case and probably won't make much of an impact. As > an alternative, what about throwing an ApplicationExit() exception that can > be caught by BabeldocCommand to exit? If you think this is overly > complicated, then I'm fine with System.exit() in printUsage(). I would not use exceptions in this case. In fact I think if we apply idea that I suggested (abstract method and Holywood principle) there will be no need for mutiple exit points, too. > I also agree that the current classes that extend BabeldocCommand should be > refactored; I've discovered at least one side effect that is causing problems > in Scanner, and will probably lead to further problems elsewhere in the > future. > > Responding to your questions with questions of my own: > > 1. I'm not yet very familiar with the structure of the program, but if > BabeldocCommand is made abstract, what happens when the user types "babeldoc > -h" ? In this instance (heh, heh), will a BabeldocCommand class be > instantiated? Hmm. Try it ;) Anyway enrty point in program is com.babeldoc.core.Main class and it will make instance based on provided argument and appropriate class. Mapping between program argument and command classes can be found in service/query.properties file. So, BabeldocCommand cannot be instantiated since it does not exist in this mapping! > 2. I agree with this point. It seems that the purpose of the current > implementation is to perform some common pre-processing for all the tools, > and I think that it would be relatively easy to restructure things so that > the 'Hollywood Principle" applies (this principle, as detailed by the great > and wise Dejan Krsmanovic in his excellent programming book "How Your Lousy > Programming Is Helping Me Retire to a Life of Sin and Decadence", describes > some of the fundamental reasons that he's rich and we're not). Can you send me pdf version of that book, please! ;) Dejan > > 3. I think this is generally good programming practice, and makes it much > easier for those trying to understand the implementation of the system (i.e. > me). > > > David > > > On Wednesday 06 August 2003 2:27 am, Dejan Krsmanovic wrote: > > After looking at code you have commited I doubt if this is really good > > solution... Since h option belongs to parrent class, BabeldocCommand, I > > guess that class is right place for handling this situation, otherwise, all > > other commands might need dealing with it. So, what do you think about > > having System.exit call inside printUsage method? > > > > Also, some refactoring is probably needed inside BabeldocCommand class. > > There are few things that I don't like right now: > > 1. This should be abstract class, right? Making BabeldocCommand instance > > does not make a sence. > > 2. We should not expect that subclasses will call super implementation when > > overide some method. For example in current implementation, subclass should > > call super.execute() when overriding execute() method. Better solution > > would be "Don't call me - I'll call you!" (Hollywood) principle. That is, > > BabeldocCommand should have one method, for example > > executeBabeldocCommand() that should call abstract execute() method. That > > way, subclass will be forced to implement execute(), and it should not > > worry about super implementation if it does not need to change default > > behaviour. > > 3. We should make all methods that subclasses need to implement abstract. > > That way we can make sure that it will be implemented. > > > > What do you think about this? I think it is quite easy to change this, but > > since many classes extend this class we need to agree with it! > > > > Dejan > > > > > > ----- Original Message ----- > > From: "David Glick" <dg...@co...> > > To: <bab...@li...> > > Sent: Wednesday, August 06, 2003 2:46 AM > > Subject: [Babeldoc-devel] Scanner tool and '-h' option? > > > > > It's normal for a program that prints a help screen to end so that it can > > > > be > > > > > re-run with options. The process tool, for example, does this, but the > > > scanner tool will print the help options and then continue to execute. > > > Is this the intended functionality? If not, I'd be happy to change it, > > > > because > > > > > it's driving me slightly batty... :-) > > > > > > > > > David > > > > > > -- > > > David Glick > > > Transmit Consulting, Inc > > > 619-475-4052 > > > dg...@tr... > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > > > Data Reports, E-commerce, Portals, and Forums are available now. > > > Download today and enter to win an XBOX or Visual Studio .NET. > > > > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > > > > > _______________________________________________ > > > Babeldoc-devel mailing list > > > Bab...@li... > > > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel > > > > ------------------------------------------------------- > > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > > Data Reports, E-commerce, Portals, and Forums are available now. > > Download today and enter to win an XBOX or Visual Studio .NET. > > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > > _______________________________________________ > > Babeldoc-devel mailing list > > Bab...@li... > > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel > > -- > David Glick > Transmit Consulting, Inc > 619-475-4052 > dg...@tr... > |
|
From: David G. <dg...@co...> - 2003-08-06 12:20:11
|
Hi Dejan, My opinion is to avoid multiple exit points in programs where possible, even though this is a trivial case and probably won't make much of an impact. As an alternative, what about throwing an ApplicationExit() exception that can be caught by BabeldocCommand to exit? If you think this is overly complicated, then I'm fine with System.exit() in printUsage(). I also agree that the current classes that extend BabeldocCommand should be refactored; I've discovered at least one side effect that is causing problems in Scanner, and will probably lead to further problems elsewhere in the future. Responding to your questions with questions of my own: 1. I'm not yet very familiar with the structure of the program, but if BabeldocCommand is made abstract, what happens when the user types "babeldoc -h" ? In this instance (heh, heh), will a BabeldocCommand class be instantiated? 2. I agree with this point. It seems that the purpose of the current implementation is to perform some common pre-processing for all the tools, and I think that it would be relatively easy to restructure things so that the 'Hollywood Principle" applies (this principle, as detailed by the great and wise Dejan Krsmanovic in his excellent programming book "How Your Lousy Programming Is Helping Me Retire to a Life of Sin and Decadence", describes some of the fundamental reasons that he's rich and we're not). 3. I think this is generally good programming practice, and makes it much easier for those trying to understand the implementation of the system (i.e. me). David On Wednesday 06 August 2003 2:27 am, Dejan Krsmanovic wrote: > After looking at code you have commited I doubt if this is really good > solution... Since h option belongs to parrent class, BabeldocCommand, I > guess that class is right place for handling this situation, otherwise, all > other commands might need dealing with it. So, what do you think about > having System.exit call inside printUsage method? > > Also, some refactoring is probably needed inside BabeldocCommand class. > There are few things that I don't like right now: > 1. This should be abstract class, right? Making BabeldocCommand instance > does not make a sence. > 2. We should not expect that subclasses will call super implementation when > overide some method. For example in current implementation, subclass should > call super.execute() when overriding execute() method. Better solution > would be "Don't call me - I'll call you!" (Hollywood) principle. That is, > BabeldocCommand should have one method, for example > executeBabeldocCommand() that should call abstract execute() method. That > way, subclass will be forced to implement execute(), and it should not > worry about super implementation if it does not need to change default > behaviour. > 3. We should make all methods that subclasses need to implement abstract. > That way we can make sure that it will be implemented. > > What do you think about this? I think it is quite easy to change this, but > since many classes extend this class we need to agree with it! > > Dejan > > > ----- Original Message ----- > From: "David Glick" <dg...@co...> > To: <bab...@li...> > Sent: Wednesday, August 06, 2003 2:46 AM > Subject: [Babeldoc-devel] Scanner tool and '-h' option? > > > It's normal for a program that prints a help screen to end so that it can > > be > > > re-run with options. The process tool, for example, does this, but the > > scanner tool will print the help options and then continue to execute. > > Is this the intended functionality? If not, I'd be happy to change it, > > because > > > it's driving me slightly batty... :-) > > > > > > David > > > > -- > > David Glick > > Transmit Consulting, Inc > > 619-475-4052 > > dg...@tr... > > > > > > > > ------------------------------------------------------- > > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > > Data Reports, E-commerce, Portals, and Forums are available now. > > Download today and enter to win an XBOX or Visual Studio .NET. > > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > > > _______________________________________________ > > Babeldoc-devel mailing list > > Bab...@li... > > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > Babeldoc-devel mailing list > Bab...@li... > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel -- David Glick Transmit Consulting, Inc 619-475-4052 dg...@tr... |
|
From: <de...@us...> - 2003-08-06 12:10:00
|
Update of /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner In directory sc8-pr-cvs1:/tmp/cvs-serv6466/modules/scanner/src/com/babeldoc/scanner Modified Files: ScannerWorkerInfo.java ScannerWorker.java ScannerWorkerScheduler.java Scanner.java IScannerWorker.java ScannerFactory.java ScannerFactoryTest.java ScannerWorkerConfig.java ScannerSchedule.java Log Message: Removing unused imports... Index: ScannerWorkerInfo.java =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/ScannerWorkerInfo.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ScannerWorkerInfo.java 27 Jun 2003 14:00:13 -0000 1.7 --- ScannerWorkerInfo.java 6 Aug 2003 12:09:58 -0000 1.8 *************** *** 66,77 **** package com.babeldoc.scanner; import com.babeldoc.core.option.ConfigInfo; import com.babeldoc.core.option.ConfigOption; import com.babeldoc.core.option.IConfigOptionType; import com.babeldoc.core.option.ServiceTypeConfigOptionType; - - import java.util.ArrayList; - import java.util.Collection; - import java.util.Iterator; --- 66,77 ---- package com.babeldoc.scanner; + import java.util.ArrayList; + import java.util.Collection; + import java.util.Iterator; + import com.babeldoc.core.option.ConfigInfo; import com.babeldoc.core.option.ConfigOption; import com.babeldoc.core.option.IConfigOptionType; import com.babeldoc.core.option.ServiceTypeConfigOptionType; Index: ScannerWorker.java =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/ScannerWorker.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** ScannerWorker.java 27 Jun 2003 14:00:11 -0000 1.20 --- ScannerWorker.java 6 Aug 2003 12:09:58 -0000 1.21 *************** *** 66,69 **** --- 66,72 ---- package com.babeldoc.scanner; + import java.util.Collection; + import java.util.Map; + import com.babeldoc.core.GeneralException; import com.babeldoc.core.LogService; *************** *** 72,78 **** import com.babeldoc.core.pipeline.feeder.FeedDocument; import com.babeldoc.core.pipeline.feeder.IFeeder; - - import java.util.Collection; - import java.util.Map; --- 75,78 ---- Index: ScannerWorkerScheduler.java =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/ScannerWorkerScheduler.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** ScannerWorkerScheduler.java 27 Jun 2003 14:00:13 -0000 1.9 --- ScannerWorkerScheduler.java 6 Aug 2003 12:09:58 -0000 1.10 *************** *** 66,73 **** package com.babeldoc.scanner; - import com.babeldoc.core.LogService; - - import java.util.*; import java.util.Hashtable; --- 66,73 ---- package com.babeldoc.scanner; import java.util.Hashtable; + import java.util.Iterator; + + import com.babeldoc.core.LogService; Index: Scanner.java =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/Scanner.java,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** Scanner.java 6 Aug 2003 03:19:00 -0000 1.23 --- Scanner.java 6 Aug 2003 12:09:58 -0000 1.24 *************** *** 66,77 **** package com.babeldoc.scanner; ! import com.babeldoc.core.*; ! import com.babeldoc.core.pipeline.feeder.AsynchronousFeeder; ! import com.babeldoc.core.pipeline.feeder.IFeederQueue; ! import com.babeldoc.core.pipeline.feeder.FeederFactory; ! import com.babeldoc.core.pipeline.feeder.IFeeder; ! ! import com.babeldoc.scanner.rmi.IRemoteScanner; ! import com.babeldoc.scanner.rmi.RemoteScannerBridge; import org.apache.commons.cli.CommandLine; --- 66,71 ---- package com.babeldoc.scanner; ! import java.rmi.RMISecurityManager; ! import java.util.Collection; import org.apache.commons.cli.CommandLine; *************** *** 79,85 **** import org.apache.commons.cli.Options; ! import java.rmi.RMISecurityManager; ! ! import java.util.Collection; --- 73,85 ---- import org.apache.commons.cli.Options; ! import com.babeldoc.core.BabeldocCommand; ! import com.babeldoc.core.GeneralException; ! import com.babeldoc.core.I18n; ! import com.babeldoc.core.LogService; ! import com.babeldoc.core.RmiRegistry; ! import com.babeldoc.core.pipeline.feeder.FeederFactory; ! import com.babeldoc.core.pipeline.feeder.IFeeder; ! import com.babeldoc.scanner.rmi.IRemoteScanner; ! import com.babeldoc.scanner.rmi.RemoteScannerBridge; Index: IScannerWorker.java =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/IScannerWorker.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** IScannerWorker.java 27 Jun 2003 14:00:12 -0000 1.7 --- IScannerWorker.java 6 Aug 2003 12:09:58 -0000 1.8 *************** *** 66,73 **** package com.babeldoc.scanner; import com.babeldoc.core.INamed; import com.babeldoc.core.option.IConfigurable; - - import java.io.Serializable; --- 66,73 ---- package com.babeldoc.scanner; + import java.io.Serializable; + import com.babeldoc.core.INamed; import com.babeldoc.core.option.IConfigurable; Index: ScannerFactory.java =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/ScannerFactory.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ScannerFactory.java 4 Aug 2003 12:46:06 -0000 1.8 --- ScannerFactory.java 6 Aug 2003 12:09:58 -0000 1.9 *************** *** 66,78 **** package com.babeldoc.scanner; import com.babeldoc.core.I18n; import com.babeldoc.core.LogService; import com.babeldoc.core.config.ConfigService; import com.babeldoc.core.config.IConfig; - import com.babeldoc.core.pipeline.feeder.DiskQueue; - import com.babeldoc.core.pipeline.feeder.IFeederQueue; - - import java.util.Hashtable; - import java.util.Iterator; --- 66,76 ---- package com.babeldoc.scanner; + import java.util.Hashtable; + import java.util.Iterator; + import com.babeldoc.core.I18n; import com.babeldoc.core.LogService; import com.babeldoc.core.config.ConfigService; import com.babeldoc.core.config.IConfig; Index: ScannerFactoryTest.java =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/ScannerFactoryTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ScannerFactoryTest.java 27 Jun 2003 14:00:12 -0000 1.3 --- ScannerFactoryTest.java 6 Aug 2003 12:09:58 -0000 1.4 *************** *** 66,72 **** package com.babeldoc.scanner; - import com.babeldoc.core.EnvironmentLoader; - import junit.framework.TestCase; --- 66,72 ---- package com.babeldoc.scanner; import junit.framework.TestCase; + + import com.babeldoc.core.EnvironmentLoader; Index: ScannerWorkerConfig.java =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/ScannerWorkerConfig.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ScannerWorkerConfig.java 27 Jun 2003 14:00:13 -0000 1.4 --- ScannerWorkerConfig.java 6 Aug 2003 12:09:58 -0000 1.5 *************** *** 66,77 **** package com.babeldoc.scanner; - import com.babeldoc.core.Named; - - import org.apache.commons.lang.builder.ToStringBuilder; - import java.io.Serializable; - import java.util.HashMap; import java.util.Set; --- 66,76 ---- package com.babeldoc.scanner; import java.io.Serializable; import java.util.HashMap; import java.util.Set; + + import org.apache.commons.lang.builder.ToStringBuilder; + + import com.babeldoc.core.Named; Index: ScannerSchedule.java =================================================================== RCS file: /cvsroot/babeldoc/babeldoc/modules/scanner/src/com/babeldoc/scanner/ScannerSchedule.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ScannerSchedule.java 27 Jun 2003 14:00:13 -0000 1.8 --- ScannerSchedule.java 6 Aug 2003 12:09:58 -0000 1.9 *************** *** 66,76 **** package com.babeldoc.scanner; - import com.babeldoc.core.I18n; - - import org.apache.commons.lang.builder.ToStringBuilder; - import java.util.Calendar; import java.util.Date; import java.util.StringTokenizer; --- 66,76 ---- package com.babeldoc.scanner; import java.util.Calendar; import java.util.Date; import java.util.StringTokenizer; + + import org.apache.commons.lang.builder.ToStringBuilder; + + import com.babeldoc.core.I18n; |
|
From: Dejan K. <dej...@nb...> - 2003-08-06 09:29:25
|
After looking at code you have commited I doubt if this is really good solution... Since h option belongs to parrent class, BabeldocCommand, I guess that class is right place for handling this situation, otherwise, all other commands might need dealing with it. So, what do you think about having System.exit call inside printUsage method? Also, some refactoring is probably needed inside BabeldocCommand class. There are few things that I don't like right now: 1. This should be abstract class, right? Making BabeldocCommand instance does not make a sence. 2. We should not expect that subclasses will call super implementation when overide some method. For example in current implementation, subclass should call super.execute() when overriding execute() method. Better solution would be "Don't call me - I'll call you!" (Hollywood) principle. That is, BabeldocCommand should have one method, for example executeBabeldocCommand() that should call abstract execute() method. That way, subclass will be forced to implement execute(), and it should not worry about super implementation if it does not need to change default behaviour. 3. We should make all methods that subclasses need to implement abstract. That way we can make sure that it will be implemented. What do you think about this? I think it is quite easy to change this, but since many classes extend this class we need to agree with it! Dejan ----- Original Message ----- From: "David Glick" <dg...@co...> To: <bab...@li...> Sent: Wednesday, August 06, 2003 2:46 AM Subject: [Babeldoc-devel] Scanner tool and '-h' option? > It's normal for a program that prints a help screen to end so that it can be > re-run with options. The process tool, for example, does this, but the > scanner tool will print the help options and then continue to execute. Is > this the intended functionality? If not, I'd be happy to change it, because > it's driving me slightly batty... :-) > > > David > > -- > David Glick > Transmit Consulting, Inc > 619-475-4052 > dg...@tr... > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > Babeldoc-devel mailing list > Bab...@li... > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel |
|
From: Dejan K. <dej...@nb...> - 2003-08-06 08:12:43
|
Probably my mistake ;) Since scanner tool has been completly rewritten there are probably more things like this one... I guess it will be OK in 1.2 version! Dejan ----- Original Message ----- From: "David Glick" <dg...@co...> To: <bab...@li...> Sent: Wednesday, August 06, 2003 2:46 AM Subject: [Babeldoc-devel] Scanner tool and '-h' option? > It's normal for a program that prints a help screen to end so that it can be > re-run with options. The process tool, for example, does this, but the > scanner tool will print the help options and then continue to execute. Is > this the intended functionality? If not, I'd be happy to change it, because > it's driving me slightly batty... :-) > > > David > > -- > David Glick > Transmit Consulting, Inc > 619-475-4052 > dg...@tr... > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > Babeldoc-devel mailing list > Bab...@li... > https://lists.sourceforge.net/lists/listinfo/babeldoc-devel |
|
From: Dejan K. <dej...@nb...> - 2003-08-06 08:09:16
|
That is good idea. I never think about running stages inside containers since I am mostly using scanners. ;) Anyway, I believe it won't be too complicated to implement this functionality. You can introduce new config option use it for specifying if transaction control shoud be used. Default should be true, because of backward compatibility. Dejan > > Well, transaction control in the stage is only useful in unmanaged > environments. > I would like to have this feature configurable. This would allow the use of > this stage in J2EE environments with container managed transactions. At the > moment this is not possible. > > Regards, > Stefan |