You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by mt...@apache.org on 2004/06/25 12:25:28 UTC
cvs commit: jakarta-commons/daemon/src/native/nt/procrun/apps/prunmgr prunmgr.rc prunmgr.c
mturk 2004/06/25 03:25:28
Modified: daemon/src/native/nt/procrun/apps/prunmgr prunmgr.rc
prunmgr.c
Log:
Enable timeout processing and enable working path for jni mode.
Fix the xx_BIT_FLAGS.
Revision Changes Path
1.3 +8 -6 jakarta-commons/daemon/src/native/nt/procrun/apps/prunmgr/prunmgr.rc
Index: prunmgr.rc
===================================================================
RCS file: /home/cvs/jakarta-commons/daemon/src/native/nt/procrun/apps/prunmgr/prunmgr.rc,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- prunmgr.rc 8 Apr 2004 16:50:30 -0000 1.2
+++ prunmgr.rc 25 Jun 2004 10:25:28 -0000 1.3
@@ -180,15 +180,16 @@
EDITTEXT IDC_PPRIMAGE,10,50,218,12,ES_AUTOHSCROLL | WS_DISABLED
PUSHBUTTON "...",IDC_PPRBIMAGE,232,49,18,14,WS_DISABLED
LTEXT "Working Path: ",IDC_STATIC,10,68,80,8
- EDITTEXT IDC_PPRWPATH,10,80,218,12,ES_AUTOHSCROLL | WS_DISABLED
- PUSHBUTTON "...",IDC_PPRBWPATH,232,79,18,14,WS_DISABLED
+ EDITTEXT IDC_PPRWPATH,10,80,218,12,ES_AUTOHSCROLL
+ PUSHBUTTON "...",IDC_PPRBWPATH,232,79,18,14
LTEXT "&Method: ",IDC_STATIC,10,98,50,8
EDITTEXT IDC_PPRMETHOD,70,97,180,12,ES_AUTOHSCROLL
LTEXT "&Arguments: ",IDC_STATIC,10,115,50,8
EDITTEXT IDC_PPRARGS,70,114,180,30,ES_MULTILINE | ES_AUTOHSCROLL |
ES_WANTRETURN | WS_VSCROLL
LTEXT "&Timeout: ",IDC_STATIC,10,150,50,8
- EDITTEXT IDC_PPRTIMEOUT,70,149,180,12,ES_AUTOHSCROLL | ES_NUMBER
+ EDITTEXT IDC_PPRTIMEOUT,70,149,100,12,ES_AUTOHSCROLL | WS_DISABLED
+ LTEXT "sec.",IDC_STATIC,175,150,25,8
LTEXT "&Mode: ",IDC_STATIC,10,168,50,8
COMBOBOX IDC_PPRMODE,70,167,180,80,CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP
@@ -204,15 +205,16 @@
EDITTEXT IDC_PPSIMAGE,10,50,218,12,ES_AUTOHSCROLL | WS_DISABLED
PUSHBUTTON "...",IDC_PPSBIMAGE,232,49,18,14,WS_DISABLED
LTEXT "Working Path: ",IDC_STATIC,10,68,80,8
- EDITTEXT IDC_PPSWPATH,10,80,218,12,ES_AUTOHSCROLL | WS_DISABLED
- PUSHBUTTON "...",IDC_PPSBWPATH,232,79,18,14,WS_DISABLED
+ EDITTEXT IDC_PPSWPATH,10,80,218,12,ES_AUTOHSCROLL
+ PUSHBUTTON "...",IDC_PPSBWPATH,232,79,18,14
LTEXT "&Method: ",IDC_STATIC,10,98,50,8
EDITTEXT IDC_PPSMETHOD,70,97,180,12,ES_AUTOHSCROLL
LTEXT "&Arguments: ",IDC_STATIC,10,115,50,8
EDITTEXT IDC_PPSARGS,70,114,180,30,ES_MULTILINE | ES_AUTOHSCROLL |
ES_WANTRETURN | WS_VSCROLL
LTEXT "&Timeout: ",IDC_STATIC,10,150,50,8
- EDITTEXT IDC_PPSTIMEOUT,70,149,180,12,ES_AUTOHSCROLL | ES_NUMBER
+ EDITTEXT IDC_PPSTIMEOUT,70,149,100,12,ES_AUTOHSCROLL | ES_NUMBER
+ LTEXT "sec.",IDC_STATIC,175,150,25,8
LTEXT "&Mode: ",IDC_STATIC,10,168,50,8
COMBOBOX IDC_PPSMODE,70,167,180,80,CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP
1.3 +57 -82 jakarta-commons/daemon/src/native/nt/procrun/apps/prunmgr/prunmgr.c
Index: prunmgr.c
===================================================================
RCS file: /home/cvs/jakarta-commons/daemon/src/native/nt/procrun/apps/prunmgr/prunmgr.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- prunmgr.c 9 Apr 2004 12:23:23 -0000 1.2
+++ prunmgr.c 25 Jun 2004 10:25:28 -0000 1.3
@@ -71,20 +71,20 @@
static LPCWSTR _s_java = L"Java";
static LPCWSTR _s_start = L"Start";
static LPCWSTR _s_stop = L"Stop";
-
-/* Allowed procrun commands */
-static LPCWSTR _commands[] = {
- L"ES", /* 1 Manage Service (default)*/
- L"MS", /* 2 Monitor Service */
- NULL
-};
-
-/* Allowed procrun parameters */
-static APXCMDLINEOPT _options[] = {
-/* 0 */ { L"AllowMultiInstances", NULL, NULL, APXCMDOPT_INT, NULL, 0},
- /* NULL terminate the array */
- { NULL }
-};
+
+/* Allowed procrun commands */
+static LPCWSTR _commands[] = {
+ L"ES", /* 1 Manage Service (default)*/
+ L"MS", /* 2 Monitor Service */
+ NULL
+};
+
+/* Allowed procrun parameters */
+static APXCMDLINEOPT _options[] = {
+/* 0 */ { L"AllowMultiInstances", NULL, NULL, APXCMDOPT_INT, NULL, 0},
+ /* NULL terminate the array */
+ { NULL }
+};
/* Create RBUTTON try menu
* Configure... (default, or lbutton dblclick)
@@ -349,9 +349,9 @@
{
WCHAR szB[SIZ_DESLEN];
- if (!(TST_BIT_FLAG(_propertyChanged, 4)))
+ if (!(TST_BIT_FLAG(_propertyChanged, 3)))
return TRUE;
- CLR_BIT_FLAG(_propertyChanged, 4);
+ CLR_BIT_FLAG(_propertyChanged, 3);
if (IS_INVALID_HANDLE(hService))
return FALSE;
@@ -377,9 +377,9 @@
WCHAR szB[SIZ_DESLEN];
LPWSTR p, s;
DWORD l;
- if (!(TST_BIT_FLAG(_propertyChanged, 8)))
+ if (!(TST_BIT_FLAG(_propertyChanged, 4)))
return TRUE;
- CLR_BIT_FLAG(_propertyChanged, 8);
+ CLR_BIT_FLAG(_propertyChanged, 4);
if (IS_INVALID_HANDLE(hService))
return FALSE;
@@ -401,13 +401,11 @@
_s_java, L"Options", s, l);
if (!GetDlgItemTextW(hDlg, IDC_PPJMS, szB, SIZ_DESMAX))
szB[0] = L'\0';
- OutputDebugStringW(szB);
apxRegistrySetNumW(hRegserv, APXREG_PARAMSOFTWARE, _s_java, L"JvmMs",
apxAtoulW(szB));
if (!GetDlgItemTextW(hDlg, IDC_PPJMX, szB, SIZ_DESMAX))
szB[0] = L'\0';
- OutputDebugStringW(szB);
apxRegistrySetNumW(hRegserv, APXREG_PARAMSOFTWARE, _s_java, L"JvmMx",
apxAtoulW(szB));
if (!GetDlgItemTextW(hDlg, IDC_PPJSS, szB, SIZ_DESMAX))
@@ -426,9 +424,9 @@
LPWSTR p, s;
DWORD l;
- if (!(TST_BIT_FLAG(_propertyChanged, 16)))
+ if (!(TST_BIT_FLAG(_propertyChanged, 5)))
return TRUE;
- CLR_BIT_FLAG(_propertyChanged, 16);
+ CLR_BIT_FLAG(_propertyChanged, 5);
if (IS_INVALID_HANDLE(hService))
return FALSE;
@@ -441,8 +439,6 @@
apxRegistrySetStrW(hRegserv, APXREG_PARAMSOFTWARE, _s_start, L"WorkingPath", szB);
GetDlgItemTextW(hDlg, IDC_PPRMETHOD, szB, SIZ_DESMAX);
apxRegistrySetStrW(hRegserv, APXREG_PARAMSOFTWARE, _s_start, L"Method", szB);
- GetDlgItemTextW(hDlg, IDC_PPRTIMEOUT, szB, SIZ_DESMAX);
- apxRegistrySetNumW(hRegserv, APXREG_PARAMSOFTWARE, _s_start, L"Timeout", apxAtoulW(szB));
GetDlgItemTextW(hDlg, IDC_PPRMODE, szB, SIZ_DESMAX);
apxRegistrySetStrW(hRegserv, APXREG_PARAMSOFTWARE, _s_start, L"Mode", szB);
@@ -466,9 +462,9 @@
LPWSTR p, s;
DWORD l;
- if (!(TST_BIT_FLAG(_propertyChanged, 32)))
+ if (!(TST_BIT_FLAG(_propertyChanged, 6)))
return TRUE;
- CLR_BIT_FLAG(_propertyChanged, 32);
+ CLR_BIT_FLAG(_propertyChanged, 6);
if (IS_INVALID_HANDLE(hService))
return FALSE;
@@ -873,31 +869,31 @@
case IDC_PPLGLEVEL:
if (HIWORD(wParam) == CBN_SELCHANGE) {
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 4);
+ SET_BIT_FLAG(_propertyChanged, 3);
}
break;
case IDC_PPLGPATH:
if (HIWORD(wParam) == EN_CHANGE) {
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 4);
+ SET_BIT_FLAG(_propertyChanged, 3);
}
break;
case IDC_PPLGPREFIX:
if (HIWORD(wParam) == EN_CHANGE) {
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 4);
+ SET_BIT_FLAG(_propertyChanged, 3);
}
break;
case IDC_PPLGSTDERR:
if (HIWORD(wParam) == EN_CHANGE) {
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 4);
+ SET_BIT_FLAG(_propertyChanged, 3);
}
break;
case IDC_PPLGSTDOUT:
if (HIWORD(wParam) == EN_CHANGE) {
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 4);
+ SET_BIT_FLAG(_propertyChanged, 3);
}
break;
case IDC_PPLGBPATH:
@@ -907,7 +903,7 @@
SetDlgItemTextW(hDlg, IDC_PPLGPATH, lpBuf);
apxFree(lpBuf);
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 4);
+ SET_BIT_FLAG(_propertyChanged, 3);
}
break;
case IDC_PPLGBSTDOUT:
@@ -918,7 +914,7 @@
SetDlgItemTextW(hDlg, IDC_PPLGSTDOUT, lpBuf);
apxFree(lpBuf);
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 4);
+ SET_BIT_FLAG(_propertyChanged, 3);
}
break;
case IDC_PPLGBSTDERR:
@@ -929,7 +925,7 @@
SetDlgItemTextW(hDlg, IDC_PPLGSTDERR, lpBuf);
apxFree(lpBuf);
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 4);
+ SET_BIT_FLAG(_propertyChanged, 3);
}
break;
}
@@ -941,7 +937,7 @@
if (__generalLoggingSave(hDlg))
PropSheet_UnChanged(GetParent(hDlg), hDlg);
else {
- SET_BIT_FLAG(_propertyChanged, 4);
+ SET_BIT_FLAG(_propertyChanged, 3);
SetWindowLong(hDlg, DWL_MSGRESULT,
PSNRET_INVALID_NOCHANGEPAGE);
return TRUE;
@@ -1034,12 +1030,12 @@
SetDlgItemTextW(hDlg, IDC_PPJJVM, lpBuf);
apxFree(lpBuf);
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 8);
+ SET_BIT_FLAG(_propertyChanged, 4);
}
break;
case IDC_PPJAUTO:
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 8);
+ SET_BIT_FLAG(_propertyChanged, 4);
if (IsDlgButtonChecked(hDlg, IDC_PPJAUTO)) {
EnableWindow(GetDlgItem(hDlg, IDC_PPJJVM), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_PPJBJVM), FALSE);
@@ -1062,7 +1058,7 @@
case IDC_PPJSS:
if (HIWORD(wParam) == EN_CHANGE) {
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 8);
+ SET_BIT_FLAG(_propertyChanged, 4);
}
break;
}
@@ -1074,7 +1070,7 @@
if (__generalJvmSave(hDlg))
PropSheet_UnChanged(GetParent(hDlg), hDlg);
else {
- SET_BIT_FLAG(_propertyChanged, 8);
+ SET_BIT_FLAG(_propertyChanged, 4);
SetWindowLong(hDlg, DWL_MSGRESULT,
PSNRET_INVALID_NOCHANGEPAGE);
return TRUE;
@@ -1097,7 +1093,6 @@
{
LPPSHNOTIFY lpShn;
LPWSTR lpBuf, b;
- DWORD v;
switch (uMessage) {
case WM_INITDIALOG:
@@ -1138,13 +1133,6 @@
apxFree(lpBuf);
apxFree(b);
}
- v = apxRegistryGetNumberW(hRegserv, APXREG_PARAMSOFTWARE,
- _s_start, L"Timeout");
- if (v && v != 0xFFFFFFFF) {
- CHAR bn[32];
- wsprintfA(bn, "%d", v);
- SetDlgItemTextA(hDlg, IDC_PPRTIMEOUT, bn);
- }
if ((lpBuf = apxRegistryGetStringW(hRegserv, APXREG_PARAMSOFTWARE,
_s_start, L"Mode")) != NULL) {
if (!lstrcmpiW(lpBuf, L"jvm")) {
@@ -1158,8 +1146,6 @@
ComboBox_SetCurSel(GetDlgItem(hDlg, IDC_PPRMODE), 0);
EnableWindow(GetDlgItem(hDlg, IDC_PPRIMAGE), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_PPRBIMAGE), TRUE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPRWPATH), TRUE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPRBWPATH), TRUE);
}
apxFree(lpBuf);
}
@@ -1174,7 +1160,7 @@
SetDlgItemTextW(hDlg, IDC_PPRWPATH, lpBuf);
apxFree(lpBuf);
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 16);
+ SET_BIT_FLAG(_propertyChanged, 5);
}
break;
case IDC_PPRBIMAGE:
@@ -1185,35 +1171,30 @@
SetDlgItemTextW(hDlg, IDC_PPRIMAGE, lpBuf);
apxFree(lpBuf);
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 16);
+ SET_BIT_FLAG(_propertyChanged, 5);
}
break;
case IDC_PPRCLASS:
case IDC_PPRMETHOD:
- case IDC_PPRTIMEOUT:
case IDC_PPRARGS:
case IDC_PPRIMAGE:
case IDC_PPRWPATH:
if (HIWORD(wParam) == EN_CHANGE) {
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 16);
+ SET_BIT_FLAG(_propertyChanged, 5);
}
break;
case IDC_PPRMODE:
if (HIWORD(wParam) == CBN_SELCHANGE) {
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 1);
+ SET_BIT_FLAG(_propertyChanged, 5);
if (ComboBox_GetCurSel(GetDlgItem(hDlg, IDC_PPRMODE))) {
EnableWindow(GetDlgItem(hDlg, IDC_PPRIMAGE), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_PPRBIMAGE), FALSE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPRWPATH), FALSE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPRBWPATH), FALSE);
}
else {
EnableWindow(GetDlgItem(hDlg, IDC_PPRIMAGE), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_PPRBIMAGE), TRUE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPRWPATH), TRUE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPRBWPATH), TRUE);
}
}
break;
@@ -1227,7 +1208,7 @@
if (__generalStartSave(hDlg))
PropSheet_UnChanged(GetParent(hDlg), hDlg);
else {
- SET_BIT_FLAG(_propertyChanged, 16);
+ SET_BIT_FLAG(_propertyChanged, 5);
SetWindowLong(hDlg, DWL_MSGRESULT,
PSNRET_INVALID_NOCHANGEPAGE);
return TRUE;
@@ -1293,7 +1274,7 @@
}
v = apxRegistryGetNumberW(hRegserv, APXREG_PARAMSOFTWARE,
_s_stop, L"Timeout");
- if (v && v != 0xFFFFFFFF) {
+ {
CHAR bn[32];
wsprintfA(bn, "%d", v);
SetDlgItemTextA(hDlg, IDC_PPSTIMEOUT, bn);
@@ -1311,8 +1292,6 @@
ComboBox_SetCurSel(GetDlgItem(hDlg, IDC_PPSMODE), 0);
EnableWindow(GetDlgItem(hDlg, IDC_PPSIMAGE), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_PPSBIMAGE), TRUE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPSWPATH), TRUE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPSBWPATH), TRUE);
}
apxFree(lpBuf);
}
@@ -1327,7 +1306,7 @@
SetDlgItemTextW(hDlg, IDC_PPSWPATH, lpBuf);
apxFree(lpBuf);
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 32);
+ SET_BIT_FLAG(_propertyChanged, 6);
}
break;
case IDC_PPSBIMAGE:
@@ -1338,7 +1317,7 @@
SetDlgItemTextW(hDlg, IDC_PPSIMAGE, lpBuf);
apxFree(lpBuf);
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 32);
+ SET_BIT_FLAG(_propertyChanged, 6);
}
break;
case IDC_PPSCLASS:
@@ -1349,24 +1328,20 @@
case IDC_PPSWPATH:
if (HIWORD(wParam) == EN_CHANGE) {
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 32);
+ SET_BIT_FLAG(_propertyChanged, 6);
}
break;
case IDC_PPSMODE:
if (HIWORD(wParam) == CBN_SELCHANGE) {
PropSheet_Changed(GetParent(hDlg), hDlg);
- SET_BIT_FLAG(_propertyChanged, 32);
+ SET_BIT_FLAG(_propertyChanged, 6);
if (ComboBox_GetCurSel(GetDlgItem(hDlg, IDC_PPSMODE))) {
EnableWindow(GetDlgItem(hDlg, IDC_PPSIMAGE), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_PPSBIMAGE), FALSE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPSWPATH), FALSE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPSBWPATH), FALSE);
}
else {
EnableWindow(GetDlgItem(hDlg, IDC_PPSIMAGE), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_PPSBIMAGE), TRUE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPSWPATH), TRUE);
- EnableWindow(GetDlgItem(hDlg, IDC_PPSBWPATH), TRUE);
}
}
break;
@@ -1380,7 +1355,7 @@
if (__generalStopSave(hDlg))
PropSheet_UnChanged(GetParent(hDlg), hDlg);
else {
- SET_BIT_FLAG(_propertyChanged, 32);
+ SET_BIT_FLAG(_propertyChanged, 6);
SetWindowLong(hDlg, DWL_MSGRESULT,
PSNRET_INVALID_NOCHANGEPAGE);
return TRUE;
@@ -1577,24 +1552,24 @@
#endif
{
MSG msg;
- LPAPXCMDLINE lpCmdline;
+ LPAPXCMDLINE lpCmdline;
HANDLE mutex = NULL;
apxHandleManagerInitialize();
hPool = apxPoolCreate(NULL, 0);
- /* Parse the command line */
- if ((lpCmdline = apxCmdlineParse(hPool, _options, _commands)) == NULL) {
- /* TODO: dispalay error message */
- apxDisplayError(TRUE, NULL, 0, "Error parsing command line");
+ /* Parse the command line */
+ if ((lpCmdline = apxCmdlineParse(hPool, _options, _commands)) == NULL) {
+ /* TODO: dispalay error message */
+ apxDisplayError(TRUE, NULL, 0, "Error parsing command line");
goto cleanup;
}
if (!lpCmdline->dwCmdIndex) {
/* Skip sytem error message */
SetLastError(ERROR_SUCCESS);
- apxDisplayError(TRUE, NULL, 0,
- apxLoadResourceA(IDS_ERRORCMD, 0),
+ apxDisplayError(TRUE, NULL, 0,
+ apxLoadResourceA(IDS_ERRORCMD, 0),
lpCmdLine);
goto cleanup;
}
@@ -1645,8 +1620,8 @@
if ((mutex == NULL) || (GetLastError() == ERROR_ALREADY_EXISTS)) {
/* Skip sytem error message */
SetLastError(ERROR_SUCCESS);
- apxDisplayError(TRUE, NULL, 0, apxLoadResourceA(IDS_ALREAY_RUNING, 0),
- lpCmdline->szApplication);
+ apxDisplayError(TRUE, NULL, 0, apxLoadResourceA(IDS_ALREAY_RUNING, 0),
+ lpCmdline->szApplication);
goto cleanup;
}
}
@@ -1690,8 +1665,8 @@
DestroyIcon(hIcoRun);
if (mutex)
CloseHandle(mutex);
- if (lpCmdline)
- apxCmdlineFree(lpCmdline);
+ if (lpCmdline)
+ apxCmdlineFree(lpCmdline);
apxCloseHandle(hService);
apxHandleManagerDestroy();
ExitProcess(0);
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org