You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
(57) |
Apr
(103) |
May
(164) |
Jun
(139) |
Jul
(173) |
Aug
(196) |
Sep
(221) |
Oct
(333) |
Nov
(214) |
Dec
(88) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(163) |
Feb
(165) |
Mar
(98) |
Apr
(93) |
May
(199) |
Jun
(118) |
Jul
(200) |
Aug
(212) |
Sep
(185) |
Oct
(297) |
Nov
(437) |
Dec
(272) |
2006 |
Jan
(542) |
Feb
(329) |
Mar
(267) |
Apr
(332) |
May
(267) |
Jun
(130) |
Jul
(161) |
Aug
(348) |
Sep
(166) |
Oct
(305) |
Nov
(173) |
Dec
(173) |
2007 |
Jan
(199) |
Feb
(118) |
Mar
(133) |
Apr
(200) |
May
(208) |
Jun
(146) |
Jul
(198) |
Aug
(146) |
Sep
(187) |
Oct
(182) |
Nov
(181) |
Dec
(83) |
2008 |
Jan
(252) |
Feb
(124) |
Mar
(124) |
Apr
(101) |
May
(143) |
Jun
(122) |
Jul
(129) |
Aug
(60) |
Sep
(80) |
Oct
(89) |
Nov
(54) |
Dec
(112) |
2009 |
Jan
(88) |
Feb
(145) |
Mar
(105) |
Apr
(164) |
May
(123) |
Jun
(154) |
Jul
(374) |
Aug
(341) |
Sep
(219) |
Oct
(137) |
Nov
(373) |
Dec
(240) |
2010 |
Jan
(197) |
Feb
(270) |
Mar
(253) |
Apr
(150) |
May
(102) |
Jun
(51) |
Jul
(300) |
Aug
(512) |
Sep
(254) |
Oct
(258) |
Nov
(288) |
Dec
(143) |
2011 |
Jan
(238) |
Feb
(179) |
Mar
(253) |
Apr
(332) |
May
(248) |
Jun
(255) |
Jul
(216) |
Aug
(282) |
Sep
(146) |
Oct
(77) |
Nov
(86) |
Dec
(69) |
2012 |
Jan
(172) |
Feb
(234) |
Mar
(229) |
Apr
(101) |
May
(212) |
Jun
(267) |
Jul
(129) |
Aug
(210) |
Sep
(239) |
Oct
(271) |
Nov
(368) |
Dec
(220) |
2013 |
Jan
(179) |
Feb
(155) |
Mar
(59) |
Apr
(47) |
May
(99) |
Jun
(158) |
Jul
(185) |
Aug
(16) |
Sep
(16) |
Oct
(7) |
Nov
(20) |
Dec
(12) |
2014 |
Jan
(21) |
Feb
(17) |
Mar
(18) |
Apr
(13) |
May
(27) |
Jun
(15) |
Jul
(19) |
Aug
(22) |
Sep
(30) |
Oct
(16) |
Nov
(19) |
Dec
(16) |
2015 |
Jan
(14) |
Feb
(24) |
Mar
(33) |
Apr
(41) |
May
(14) |
Jun
(80) |
Jul
(53) |
Aug
(8) |
Sep
(7) |
Oct
(15) |
Nov
(13) |
Dec
(2) |
2016 |
Jan
(22) |
Feb
(12) |
Mar
(30) |
Apr
(6) |
May
(33) |
Jun
(16) |
Jul
(8) |
Aug
(20) |
Sep
(12) |
Oct
(18) |
Nov
(12) |
Dec
(11) |
2017 |
Jan
(24) |
Feb
(26) |
Mar
(47) |
Apr
(23) |
May
(19) |
Jun
(14) |
Jul
(28) |
Aug
(30) |
Sep
(17) |
Oct
|
Nov
|
Dec
|
2019 |
Jan
(1) |
Feb
(73) |
Mar
(90) |
Apr
(42) |
May
(116) |
Jun
(90) |
Jul
(127) |
Aug
(103) |
Sep
(56) |
Oct
(42) |
Nov
(95) |
Dec
(58) |
2020 |
Jan
(102) |
Feb
(31) |
Mar
(93) |
Apr
(60) |
May
(57) |
Jun
(45) |
Jul
(29) |
Aug
(32) |
Sep
(44) |
Oct
(86) |
Nov
(51) |
Dec
(71) |
2021 |
Jan
(44) |
Feb
(25) |
Mar
(78) |
Apr
(130) |
May
(64) |
Jun
(74) |
Jul
(21) |
Aug
(64) |
Sep
(40) |
Oct
(43) |
Nov
(21) |
Dec
(99) |
2022 |
Jan
(154) |
Feb
(64) |
Mar
(45) |
Apr
(95) |
May
(62) |
Jun
(48) |
Jul
(73) |
Aug
(37) |
Sep
(71) |
Oct
(27) |
Nov
(40) |
Dec
(65) |
2023 |
Jan
(89) |
Feb
(130) |
Mar
(124) |
Apr
(50) |
May
(93) |
Jun
(46) |
Jul
(45) |
Aug
(68) |
Sep
(62) |
Oct
(71) |
Nov
(108) |
Dec
(82) |
2024 |
Jan
(53) |
Feb
(76) |
Mar
(64) |
Apr
(75) |
May
(36) |
Jun
(54) |
Jul
(98) |
Aug
(137) |
Sep
(58) |
Oct
(177) |
Nov
(84) |
Dec
(52) |
2025 |
Jan
(70) |
Feb
(53) |
Mar
(72) |
Apr
(47) |
May
(88) |
Jun
(49) |
Jul
(81) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Wolfgang M. M. <wol...@us...> - 2004-04-23 13:08:24
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/storage/store In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2156/src/org/exist/storage/store Modified Files: BFile.java NodeIterator.java DOMFile.java Log Message: A large number of XUpdate bugs has been fixed. Index: DOMFile.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/storage/store/DOMFile.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** DOMFile.java 14 Apr 2004 12:17:22 -0000 1.21 --- DOMFile.java 23 Apr 2004 13:07:45 -0000 1.22 *************** *** 29,32 **** --- 29,33 ---- import java.util.Iterator; import java.util.LinkedList; + import org.dbxml.core.DBException; import org.dbxml.core.data.Value; *************** *** 330,335 **** --- 331,338 ---- // still not enough free space: create a new page DOMPage newPage = new DOMPage(); + LOG.debug("creating additional page: " + newPage.getPageNum()); newPage.getPageHeader().setNextDataPage( rec.page.getPageHeader().getNextDataPage()); + newPage.getPageHeader().setPrevDataPage(rec.page.getPageNum()); rec.page.getPageHeader().setNextDataPage( newPage.getPageNum()); *************** *** 353,356 **** --- 356,360 ---- newPage.getPageHeader().setNextDataPage( rec.page.getPageHeader().getNextDataPage()); + newPage.getPageHeader().setPrevDataPage(rec.page.getPageNum()); rec.page.getPageHeader().setNextDataPage(newPage.getPageNum()); rec.page.setDirty(true); *************** *** 429,432 **** --- 433,437 ---- DOMPage newPage = new DOMPage(); newPage.getPageHeader().setNextTID((short)(rec.page.getPageHeader().getNextTID() - 1)); + newPage.getPageHeader().setPrevDataPage(nextSplitPage.getPageNum()); LOG.debug("creating new split page: " + newPage.getPageNum()); nextSplitPage.getPageHeader().setNextDataPage(newPage.getPageNum()); *************** *** 435,438 **** --- 440,444 ---- nextSplitPage.setDirty(true); dataCache.add(nextSplitPage); + dataCache.add(newPage); nextSplitPage = newPage; splitRecordCount = 0; *************** *** 491,494 **** --- 497,501 ---- DOMPage newPage = new DOMPage(); newPage.getPageHeader().setNextTID((short)(rec.page.getPageHeader().getNextTID() - 1)); + newPage.getPageHeader().setPrevDataPage(rec.page.getPageNum()); LOG.debug("creating new: " + newPage.getPageNum()); long np = rec.page.getPageHeader().getNextDataPage(); *************** *** 498,502 **** rec.page.setDirty(true); dataCache.add(rec.page); ! newPage.getPageHeader().setPrevDataPage(rec.page.getPageNum()); newPage.getPageHeader().setNextDataPage(np); rec.page = newPage; --- 505,509 ---- rec.page.setDirty(true); dataCache.add(rec.page); ! dataCache.add(newPage); newPage.getPageHeader().setNextDataPage(np); rec.page = newPage; *************** *** 565,568 **** --- 572,597 ---- } + private void printPageContents(DOMPage page) { + System.out.print("Page " + page.getPageNum() + ": "); + short count = 0; + short currentId, vlen; + int dlen = page.getPageHeader().getDataLength(); + for (int pos = 0; pos < dlen; count++) { + currentId = ByteConversion.byteToShort(page.data, pos); + System.out.print(currentId + " "); + if (ItemId.isLink(currentId)) { + pos += 10; + } else { + vlen = ByteConversion.byteToShort(page.data, pos + 2); + if (ItemId.isRelocated(currentId)) { + pos += vlen == OVERFLOW ? 20 : vlen + 12; + } else + pos += vlen == OVERFLOW ? 12 : vlen + 4; + } + } + System.out.println(); + LOG.debug("page " + page.getPageNum() + " has " + count + " records."); + } + public boolean close() throws DBException { flush(); *************** *** 640,649 **** for (long gid = firstChildId; gid < lastChildId; gid++) { NodeImpl child = (NodeImpl) iter.next(); if (gid == target) { return ((NodeIterator) iter).currentAddress(); } child.setGID(gid); ! if (node.hasChildNodes() ! && (p = findNode(child, target, iter)) != 0) return p; } } --- 669,680 ---- for (long gid = firstChildId; gid < lastChildId; gid++) { NodeImpl child = (NodeImpl) iter.next(); + if(child == null) + LOG.warn("Next node missing. gid = " + gid + "; last = " + lastChildId + + "; parent= " + node.getNodeName() + "; count = " + node.getChildCount()); if (gid == target) { return ((NodeIterator) iter).currentAddress(); } child.setGID(gid); ! if ((p= findNode(child, target, iter)) != 0) return p; } } *************** *** 698,702 **** id = XMLUtil.getParentId(doc, id); if (id < 1) { ! LOG.debug(node.gid + " not found."); throw new BTreeException("node " + node.gid + " not found."); } --- 729,733 ---- id = XMLUtil.getParentId(doc, id); if (id < 1) { ! LOG.warn(node.gid + " not found."); throw new BTreeException("node " + node.gid + " not found."); } *************** *** 965,971 **** private void removeLink(long p) { RecordPos rec = findRecord(p, false); - // LOG.debug("removing link from " + rec.page.getPageNum()); DOMFilePageHeader ph = rec.page.getPageHeader(); ! System.arraycopy(rec.page.data, rec.offset + 8, rec.page.data, rec.offset - 2, 10); rec.page.len = rec.page.len - 10; ph.setDataLength(rec.page.len); --- 996,1003 ---- private void removeLink(long p) { RecordPos rec = findRecord(p, false); DOMFilePageHeader ph = rec.page.getPageHeader(); ! // TODO: 10 is wrong ! int end = rec.offset + 8; ! System.arraycopy(rec.page.data, rec.offset + 8, rec.page.data, rec.offset - 2, rec.page.len - end); rec.page.len = rec.page.len - 10; ph.setDataLength(rec.page.len); *************** *** 973,981 **** ph.decRecordCount(); // LOG.debug("size = " + ph.getRecordCount()); ! if (ph.getRecordCount() == 0) { removePage(rec.page); rec.page = null; ! } else dataCache.add(rec.page); } --- 1005,1016 ---- ph.decRecordCount(); // LOG.debug("size = " + ph.getRecordCount()); ! if (rec.page.len == 0) { ! LOG.debug("freeing page " + rec.page.getPageNum()); removePage(rec.page); rec.page = null; ! } else { dataCache.add(rec.page); + //printPageContents(rec.page); + } } *************** *** 993,996 **** --- 1028,1034 ---- short l = ByteConversion.byteToShort(rec.page.data, rec.offset); rec.offset += 2; + if(ItemId.isLink(rec.tid)) { + throw new RuntimeException("Cannot remove link ..."); + } if(ItemId.isRelocated(rec.tid)) { long backLink = ByteConversion.byteToLong(rec.page.data, rec.offset); *************** *** 1023,1027 **** rec.page.setDirty(true); ph.decRecordCount(); ! if (ph.getRecordCount() == 0) { removePage(rec.page); rec.page = null; --- 1061,1065 ---- rec.page.setDirty(true); ph.decRecordCount(); ! if (rec.page.len == 0) { removePage(rec.page); rec.page = null; *************** *** 1054,1058 **** dataCache.remove(page); DOMFilePageHeader ph = page.getPageHeader(); ! if (ph.getNextDataPage() > -1) { DOMPage next = getCurrentPage(ph.getNextDataPage()); --- 1092,1096 ---- dataCache.remove(page); DOMFilePageHeader ph = page.getPageHeader(); ! LOG.debug("---------------------------\nFreeing page: " + page.getPageNum()); if (ph.getNextDataPage() > -1) { DOMPage next = getCurrentPage(ph.getNextDataPage()); *************** *** 1062,1067 **** --- 1100,1107 ---- } + LOG.debug("previous = " + ph.getPrevDataPage()); if(ph.getPrevDataPage() > -1) { DOMPage prev = getCurrentPage(ph.getPrevDataPage()); + LOG.debug("previous = " + prev.getPageNum()); prev.getPageHeader().setNextDataPage(ph.getNextDataPage()); prev.setDirty(true); *************** *** 1165,1168 **** --- 1205,1211 ---- RecordPos rec = findRecord(p); short l = ByteConversion.byteToShort(rec.page.data, rec.offset); + rec.offset += 2; + if(ItemId.isRelocated(rec.tid)) + rec.offset += 8; if (value.length < l) { // value is smaller than before *************** *** 1179,1183 **** } else { // value length unchanged ! System.arraycopy(value, 0, rec.page.data, rec.offset + 2, value.length); } --- 1222,1226 ---- } else { // value length unchanged ! System.arraycopy(value, 0, rec.page.data, rec.offset, value.length); } *************** *** 1217,1230 **** private void getNodeValue(ByteArrayOutputStream os, RecordPos rec, boolean firstCall) { ! if (rec.offset > rec.page.getPageHeader().getDataLength()) { ! final long nextPage = rec.page.getPageHeader().getNextDataPage(); ! if (nextPage < 0) { ! LOG.warn("bad link to next page"); ! return; ! } ! rec.page = getCurrentPage(nextPage); ! dataCache.add(rec.page); ! rec.offset = 2; ! } short len = ByteConversion.byteToShort(rec.page.data, rec.offset); rec.offset += 2; --- 1260,1281 ---- private void getNodeValue(ByteArrayOutputStream os, RecordPos rec, boolean firstCall) { ! boolean foundNext = false; ! do { ! if (rec.offset > rec.page.getPageHeader().getDataLength()) { ! final long nextPage = rec.page.getPageHeader().getNextDataPage(); ! if (nextPage < 0) { ! LOG.warn("bad link to next page"); ! return; ! } ! rec.page = getCurrentPage(nextPage); ! dataCache.add(rec.page); ! rec.offset = 2; ! } ! rec.tid = ByteConversion.byteToShort(rec.page.data, rec.offset - 2); ! if(ItemId.isLink(rec.tid)) { ! rec.offset += 10; ! } else ! foundNext = true; ! } while(!foundNext); short len = ByteConversion.byteToShort(rec.page.data, rec.offset); rec.offset += 2; *************** *** 1232,1250 **** rec.offset += 8; byte[] data = rec.page.data; ! int offset = rec.offset; if (len == OVERFLOW) { ! final long op = ByteConversion.byteToLong(rec.page.data, rec.offset); data = getOverflowValue(op); len = (short) data.length; ! offset = 0; } ! final short type = Signatures.getType(data[offset]); switch (type) { case Node.ELEMENT_NODE: ! final int children = ByteConversion.byteToInt(data, offset + 1); ! final byte attrSizeType = (byte) ((data[offset] & 0x0C) >> 0x2); final short attributes = (short) Signatures.read(attrSizeType, ! data, offset + 5); rec.offset += len + 2; for (int i = 0; i < children; i++) { --- 1283,1302 ---- rec.offset += 8; byte[] data = rec.page.data; ! int readOffset = rec.offset; if (len == OVERFLOW) { ! final long op = ByteConversion.byteToLong(data, rec.offset); data = getOverflowValue(op); len = (short) data.length; ! readOffset = 0; ! rec.offset += 8; } ! final short type = Signatures.getType(data[readOffset]); switch (type) { case Node.ELEMENT_NODE: ! final int children = ByteConversion.byteToInt(data, readOffset + 1); ! final byte attrSizeType = (byte) ((data[readOffset] & 0x0C) >> 0x2); final short attributes = (short) Signatures.read(attrSizeType, ! data, readOffset + 5); rec.offset += len + 2; for (int i = 0; i < children; i++) { *************** *** 1255,1259 **** return; case Node.TEXT_NODE: ! os.write(data, offset + 1, len - 1); break; case Node.ATTRIBUTE_NODE: --- 1307,1311 ---- return; case Node.TEXT_NODE: ! os.write(data, readOffset + 1, len - 1); break; case Node.ATTRIBUTE_NODE: *************** *** 1261,1274 **** // if this is the first call to the method if (firstCall) { ! final byte idSizeType = (byte) (data[offset] & 0x3); ! final boolean hasNamespace = (data[offset] & 0x10) == 0x10; int next = Signatures.getLength(idSizeType) + 1; if (hasNamespace) { next += 2; // skip namespace id final short prefixLen = ByteConversion.byteToShort(data, ! offset + next); next += prefixLen + 2; // skip prefix } ! os.write(rec.page.data, offset + next, len - next); } break; --- 1313,1326 ---- // if this is the first call to the method if (firstCall) { ! final byte idSizeType = (byte) (data[readOffset] & 0x3); ! final boolean hasNamespace = (data[readOffset] & 0x10) == 0x10; int next = Signatures.getLength(idSizeType) + 1; if (hasNamespace) { next += 2; // skip namespace id final short prefixLen = ByteConversion.byteToShort(data, ! readOffset + next); next += prefixLen + 2; // skip prefix } ! os.write(rec.page.data, readOffset + next, len - next); } break; Index: NodeIterator.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/storage/store/NodeIterator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** NodeIterator.java 14 Apr 2004 12:17:22 -0000 1.5 --- NodeIterator.java 23 Apr 2004 13:07:45 -0000 1.6 *************** *** 117,121 **** long nextPage = ph.getNextDataPage(); if (nextPage < 0) { ! LOG.debug("bad link to next " + p.page.getPageInfo()); return null; } --- 117,122 ---- long nextPage = ph.getNextDataPage(); if (nextPage < 0) { ! LOG.debug("bad link to next " + p.page.getPageInfo() + "; previous: " + ! ph.getPrevDataPage()); return null; } *************** *** 127,137 **** // extract the tid lastTID = ByteConversion.byteToShort(p.data, offset); - if(ItemId.getId(lastTID) < 0) - LOG.debug("tid < 0: " + lastTID + " at "+ p.page.getPageInfo()); offset += 2; // check if this is just a link to a relocated node if(ItemId.isLink(lastTID)) { // skip this offset += 8; continue; } --- 128,139 ---- // extract the tid lastTID = ByteConversion.byteToShort(p.data, offset); offset += 2; // check if this is just a link to a relocated node if(ItemId.isLink(lastTID)) { // skip this + long link = ByteConversion.byteToLong(p.data, offset); offset += 8; + //System.out.println("skipping link on p " + page + " -> " + + // StorageAddress.pageFromPointer(link)); continue; } *************** *** 159,162 **** --- 161,165 ---- ); nextNode.setOwnerDocument(doc); + // System.out.println("Next: " + nextNode.getNodeName() + " [" + page + "]"); } while(nextNode == null); } Index: BFile.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/storage/store/BFile.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** BFile.java 14 Apr 2004 12:17:22 -0000 1.17 --- BFile.java 23 Apr 2004 13:07:45 -0000 1.18 *************** *** 929,943 **** public void write(java.io.RandomAccessFile raf) throws IOException { // does the free-space list fit into the file header? if (freeList.size() > MAX_FREE_LIST_LEN) { LOG.debug("removing " + (freeList.size() - MAX_FREE_LIST_LEN) + " free pages."); // no: remove some smaller entries to make it fit ! for (int i = 0; i < freeList.size() - MAX_FREE_LIST_LEN; i++) ! freeList.removeFirst(); } super.write(raf); raf.writeLong(lastDataPage); ! raf.writeInt(freeList.size()); FreeSpace freeSpace; ! for (Iterator i = freeList.iterator(); i.hasNext();) { freeSpace = (FreeSpace) i.next(); raf.writeLong(freeSpace.getPage()); --- 929,950 ---- public void write(java.io.RandomAccessFile raf) throws IOException { // does the free-space list fit into the file header? + int skip = 0; if (freeList.size() > MAX_FREE_LIST_LEN) { LOG.debug("removing " + (freeList.size() - MAX_FREE_LIST_LEN) + " free pages."); // no: remove some smaller entries to make it fit ! skip = freeList.size() - MAX_FREE_LIST_LEN; ! // for (int i = 0; i < freeList.size() - MAX_FREE_LIST_LEN; i++) ! // freeList.removeFirst(); } super.write(raf); raf.writeLong(lastDataPage); ! raf.writeInt(freeList.size() - skip); FreeSpace freeSpace; ! Iterator i = freeList.iterator(); ! // skip ! for(int j = 0; j < skip && i.hasNext(); j++) { ! i.next(); ! } ! while (i.hasNext()) { freeSpace = (FreeSpace) i.next(); raf.writeLong(freeSpace.getPage()); |
From: Wolfgang M. M. <wol...@us...> - 2004-04-23 13:08:24
|
Update of /cvsroot/exist/eXist-1.0/webapp/WEB-INF In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2156/webapp/WEB-INF Modified Files: web.xml Log Message: A large number of XUpdate bugs has been fixed. Index: web.xml =================================================================== RCS file: /cvsroot/exist/eXist-1.0/webapp/WEB-INF/web.xml,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** web.xml 1 Apr 2004 14:06:19 -0000 1.15 --- web.xml 23 Apr 2004 13:07:45 -0000 1.16 *************** *** 53,56 **** --- 53,61 ---- </servlet> + <servlet> + <servlet-name>WebDAVServlet</servlet-name> + <servlet-class>org.exist.http.servlets.WebDAVServlet</servlet-class> + </servlet> + <!-- XQueryServlet generates HTML from an XQuery file. --> <servlet> *************** *** 97,101 **** <!-- xincon: Provides Webdav for eXist --> ! <servlet> <servlet-name>xincon</servlet-name> <servlet-class>xincon.WebdavServlet</servlet-class> --- 102,106 ---- <!-- xincon: Provides Webdav for eXist --> ! <!--servlet> <servlet-name>xincon</servlet-name> <servlet-class>xincon.WebdavServlet</servlet-class> *************** *** 115,119 **** <load-on-startup>1</load-on-startup> ! </servlet> <!-- Cocoon2 Configuration starts here ================================ --> --- 120,124 ---- <load-on-startup>1</load-on-startup> ! </servlet--> <!-- Cocoon2 Configuration starts here ================================ --> *************** *** 439,442 **** --- 444,452 ---- </servlet-mapping> + <servlet-mapping> + <servlet-name>WebDAVServlet</servlet-name> + <url-pattern>/webdav/*</url-pattern> + </servlet-mapping> + <!-- XQueryServlet --> <servlet-mapping> *************** *** 446,453 **** <!-- Define where Xincon listens for WebDAV requests --> ! <servlet-mapping> <servlet-name>xincon</servlet-name> <url-pattern>/webdav/*</url-pattern> ! </servlet-mapping> <!-- The following servlet-mappings are for Axis (SOAP) --> --- 456,463 ---- <!-- Define where Xincon listens for WebDAV requests --> ! <!--servlet-mapping> <servlet-name>xincon</servlet-name> <url-pattern>/webdav/*</url-pattern> ! </servlet-mapping--> <!-- The following servlet-mappings are for Axis (SOAP) --> |
From: Wolfgang M. M. <wol...@us...> - 2004-04-23 13:08:24
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery/value In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2156/src/org/exist/xquery/value Modified Files: ValueSequence.java Log Message: A large number of XUpdate bugs has been fixed. Index: ValueSequence.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/value/ValueSequence.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ValueSequence.java 29 Jan 2004 15:06:42 -0000 1.1 --- ValueSequence.java 23 Apr 2004 13:07:45 -0000 1.2 *************** *** 99,102 **** --- 99,104 ---- */ public NodeSet toNodeSet() throws XPathException { + if(values.size() == 0) + return NodeSet.EMPTY_SET; if(Type.subTypeOf(itemType, Type.NODE)) { NodeSet set = new ExtArrayNodeSet(); |
From: Wolfgang M. M. <wol...@us...> - 2004-04-23 13:08:22
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xmldb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2156/src/org/exist/xmldb Modified Files: LocalCollection.java Log Message: A large number of XUpdate bugs has been fixed. Index: LocalCollection.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/LocalCollection.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** LocalCollection.java 15 Apr 2004 09:24:16 -0000 1.29 --- LocalCollection.java 23 Apr 2004 13:07:43 -0000 1.30 *************** *** 24,27 **** --- 24,29 ---- package org.exist.xmldb; + import java.net.URI; + import java.net.URLEncoder; import java.util.ArrayList; import java.util.Date; *************** *** 483,487 **** DocumentImpl newDoc; if (res.file != null) { ! String uri = res.file.toURI().toASCIIString(); newDoc = collection.addDocument( --- 485,489 ---- DocumentImpl newDoc; if (res.file != null) { ! String uri = new URI(res.file.toURL().toString()).toASCIIString(); newDoc = collection.addDocument( |
From: Wolfgang M. M. <wol...@us...> - 2004-04-23 13:08:22
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/security In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2156/src/org/exist/security Modified Files: MD5.java SecurityManager.java User.java Added Files: security.properties Log Message: A large number of XUpdate bugs has been fixed. Index: User.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/security/User.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** User.java 16 Feb 2004 13:02:44 -0000 1.8 --- User.java 23 Apr 2004 13:07:43 -0000 1.9 *************** *** 2,7 **** --- 2,9 ---- package org.exist.security; + import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; + import java.util.Properties; import org.exist.util.DatabaseConfigurationException; *************** *** 26,30 **** private final static String USER_ID = "uid"; private final static String HOME = "home"; ! private ArrayList groups = new ArrayList( 2 ); private String password = null; --- 28,57 ---- private final static String USER_ID = "uid"; private final static String HOME = "home"; ! ! public final static int PLAIN_ENCODING = 0; ! public final static int SIMPLE_MD5_ENCODING = 1; ! public final static int MD5_ENCODING = 2; ! ! public static int PASSWORD_ENCODING; ! ! static { ! Properties props = new Properties(); ! try { ! props.load( ! User.class.getClassLoader().getResourceAsStream("org/exist/security/security.properties") ! ); ! } catch (IOException e) { ! } ! String encoding = props.getProperty("passwords.encoding", "md5"); ! if(encoding != null) { ! if(encoding.equalsIgnoreCase("plain")) ! PASSWORD_ENCODING = PLAIN_ENCODING; ! else if(encoding.equalsIgnoreCase("md5")) ! PASSWORD_ENCODING = MD5_ENCODING; ! else ! PASSWORD_ENCODING = SIMPLE_MD5_ENCODING; ! } ! } ! private ArrayList groups = new ArrayList( 2 ); private String password = null; *************** *** 33,37 **** private String home = null; - /** * Create a new user with name and password --- 60,63 ---- *************** *** 180,184 **** */ public final void setPassword( String passwd ) { ! this.password = ( passwd == null ? null : MD5.md( passwd ) ); } --- 206,210 ---- */ public final void setPassword( String passwd ) { ! this.password = ( passwd == null ? null : digest( passwd ) ); } *************** *** 193,202 **** } ! ! /** ! * Description of the Method ! * ! *@return Description of the Return Value ! */ public final String toString() { StringBuffer buf = new StringBuffer(); --- 219,234 ---- } ! public final String digest(String passwd) { ! switch(PASSWORD_ENCODING) { ! case PLAIN_ENCODING: ! return passwd; ! case MD5_ENCODING: ! return MD5.md(user + ":exist:" + passwd); ! default: ! return MD5.md(passwd); ! } ! ! } ! public final String toString() { StringBuffer buf = new StringBuffer(); *************** *** 234,238 **** if ( passwd == null ) return false; ! return MD5.md( passwd ).equals( password ); } --- 266,270 ---- if ( passwd == null ) return false; ! return digest( passwd ).equals( password ); } Index: MD5.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/security/MD5.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MD5.java 21 Jan 2003 13:29:46 -0000 1.1 --- MD5.java 23 Apr 2004 13:07:43 -0000 1.2 *************** *** 5,16 **** import java.security.NoSuchAlgorithmException; ! import org.apache.log4j.Category; - /** - * Description of the Class - * - *@author Wolfgang Meier <me...@if...> - *@created 20. August 2002 - */ public class MD5 { --- 5,10 ---- import java.security.NoSuchAlgorithmException; ! import org.apache.log4j.Logger; public class MD5 { *************** *** 18,29 **** "8", "9", "a", "b", "c", "d", "e", "f"}; ! private static final Category LOG = Category.getInstance(MD5.class.getName()); - /** - * Description of the Method - * - *@param passwd Description of the Parameter - *@return Description of the Return Value - */ public static String md( String passwd ) { MessageDigest md5 = null; --- 12,17 ---- "8", "9", "a", "b", "c", "d", "e", "f"}; ! private static final Logger LOG = Logger.getLogger(MD5.class); public static String md( String passwd ) { MessageDigest md5 = null; *************** *** 56,65 **** - /** - * Description of the Method - * - *@param b Description of the Parameter - *@return Description of the Return Value - */ public static String byteArrayToHex( byte[] b ) { StringBuffer buf = new StringBuffer( b.length * 2 ); --- 44,47 ---- --- NEW FILE: security.properties --- # How will passwords be stored in /db/system/users.xml # Possible values are md5, simple-md5, plain # # The default should be md5 (required if you want to # use WebDAV with digest authentication). # # simple-md5 is used for backwards-compatibility with earlier # versions of eXist. If you users have been registered with a # version before April 22, 2004, use simple-md5. Otherwise, # the database will not recognize the old passwords. passwords.encoding=md5 Index: SecurityManager.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/security/SecurityManager.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** SecurityManager.java 14 Apr 2004 12:17:24 -0000 1.16 --- SecurityManager.java 23 Apr 2004 13:07:43 -0000 1.17 *************** *** 26,30 **** import java.util.Iterator; ! import org.apache.log4j.Category; import org.exist.EXistException; import org.exist.collections.Collection; --- 26,30 ---- import java.util.Iterator; ! import org.apache.log4j.Logger; import org.exist.EXistException; import org.exist.collections.Collection; *************** *** 60,66 **** public final static String GUEST_USER = "guest"; public final static String SYSTEM = "/db/system"; ! ! private final static Category LOG = ! Category.getInstance(SecurityManager.class.getName()); private BrokerPool pool; --- 60,66 ---- public final static String GUEST_USER = "guest"; public final static String SYSTEM = "/db/system"; ! ! private final static Logger LOG = ! Logger.getLogger(SecurityManager.class); private BrokerPool pool; *************** *** 69,73 **** private int nextUserId = 0; private int nextGroupId = 0; ! private BrokerPool brokerPool; --- 69,73 ---- private int nextUserId = 0; private int nextGroupId = 0; ! private BrokerPool brokerPool; *************** *** 83,88 **** public SecurityManager(BrokerPool pool, DBBroker sysBroker) { this.pool = pool; DBBroker broker = sysBroker; - try { Collection sysCollection = broker.getCollection(SYSTEM); --- 83,88 ---- public SecurityManager(BrokerPool pool, DBBroker sysBroker) { this.pool = pool; + DBBroker broker = sysBroker; try { Collection sysCollection = broker.getCollection(SYSTEM); |
From: Wolfgang M. M. <wol...@us...> - 2004-04-23 13:08:22
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/client In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2156/src/org/exist/client Modified Files: UserDialog.java Log Message: A large number of XUpdate bugs has been fixed. Index: UserDialog.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/client/UserDialog.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** UserDialog.java 9 Feb 2004 08:56:02 -0000 1.6 --- UserDialog.java 23 Apr 2004 13:07:44 -0000 1.7 *************** *** 354,357 **** --- 354,358 ---- user.setPassword(pass1); + System.out.println("Pass = " + user.getPassword()); user.setHome(homedir.getText()); for (int i = 0; i < groupsModel.size(); i++) |
From: Wolfgang M. M. <wol...@us...> - 2004-04-23 13:08:00
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xmlrpc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2156/src/org/exist/xmlrpc Modified Files: RpcConnection.java Log Message: A large number of XUpdate bugs has been fixed. Index: RpcConnection.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmlrpc/RpcConnection.java,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** RpcConnection.java 30 Mar 2004 16:56:32 -0000 1.50 --- RpcConnection.java 23 Apr 2004 13:07:50 -0000 1.51 *************** *** 8,11 **** --- 8,13 ---- import java.io.StringReader; import java.io.StringWriter; + import java.net.MalformedURLException; + import java.net.URI; import java.util.Date; import java.util.Enumeration; *************** *** 869,873 **** "Old document exists and overwrite is not allowed"); } ! String uri = file.toURI().toASCIIString(); collection.addDocument(broker, docName, new InputSource(uri)); } finally { --- 871,880 ---- "Old document exists and overwrite is not allowed"); } ! String uri; ! try { ! uri = new URI(file.toURL().toString()).toASCIIString(); ! } catch (Exception e) { ! uri = file.getAbsolutePath(); ! } collection.addDocument(broker, docName, new InputSource(uri)); } finally { *************** *** 922,926 **** if (!file.canWrite()) throw new EXistException("cannot write to file " + fileName); ! FileOutputStream os = new FileOutputStream(file, true); os.write(chunk, 0, length); os.close(); --- 929,933 ---- if (!file.canWrite()) throw new EXistException("cannot write to file " + fileName); ! FileOutputStream os = new FileOutputStream(file.getAbsolutePath(), true); os.write(chunk, 0, length); os.close(); |
From: Wolfgang M. M. <wol...@us...> - 2004-04-23 13:07:58
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery/functions/xmldb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2156/src/org/exist/xquery/functions/xmldb Modified Files: XMLDBXUpdate.java Log Message: A large number of XUpdate bugs has been fixed. Index: XMLDBXUpdate.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/functions/xmldb/XMLDBXUpdate.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** XMLDBXUpdate.java 21 Feb 2004 17:56:52 -0000 1.2 --- XMLDBXUpdate.java 23 Apr 2004 13:07:49 -0000 1.3 *************** *** 109,112 **** --- 109,113 ---- + e.getMessage(), e); } + context.getRootExpression().resetState(); return new IntegerValue(modifications); } |
From: Wolfgang M. M. <wol...@us...> - 2004-04-23 13:07:57
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery/functions/transform In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2156/src/org/exist/xquery/functions/transform Modified Files: Transform.java Log Message: A large number of XUpdate bugs has been fixed. Index: Transform.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/functions/transform/Transform.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Transform.java 2 Mar 2004 12:51:23 -0000 1.5 --- Transform.java 23 Apr 2004 13:07:48 -0000 1.6 *************** *** 26,29 **** --- 26,30 ---- import java.io.IOException; import java.net.MalformedURLException; + import java.net.URI; import java.net.URL; import java.net.URLConnection; *************** *** 168,177 **** File f = new File(stylesheet); if(f.canRead()) ! stylesheet = f.toURI().toASCIIString(); else { stylesheet = context.getBaseURI() + File.separatorChar + stylesheet; f = new File(stylesheet); if(f.canRead()) ! stylesheet = f.toURI().toASCIIString(); } } --- 169,184 ---- File f = new File(stylesheet); if(f.canRead()) ! try { ! stylesheet = new URI(f.toURL().toString()).toASCIIString(); ! } catch (Exception e1) { ! } else { stylesheet = context.getBaseURI() + File.separatorChar + stylesheet; f = new File(stylesheet); if(f.canRead()) ! try { ! stylesheet = f.toURL().toString(); ! } catch (MalformedURLException e2) { ! } } } |
From: Wolfgang M. M. <wol...@us...> - 2004-04-23 13:07:57
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/dom In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2156/src/org/exist/dom Modified Files: ElementImpl.java DocumentImpl.java Log Message: A large number of XUpdate bugs has been fixed. Index: ElementImpl.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/dom/ElementImpl.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** ElementImpl.java 2 Mar 2004 12:51:23 -0000 1.29 --- ElementImpl.java 23 Apr 2004 13:07:48 -0000 1.30 *************** *** 1055,1063 **** } if (attributes.length() > 0) ! buf.append(attributes); if (childNodes.getLength() > 0) { buf.append(">"); ! buf.append(children); buf.append("</"); buf.append(nodeName); --- 1055,1063 ---- } if (attributes.length() > 0) ! buf.append(attributes.toString()); if (childNodes.getLength() > 0) { buf.append(">"); ! buf.append(children.toString()); buf.append("</"); buf.append(nodeName); *************** *** 1177,1183 **** // remove old child nodes NodeList nodes = getChildNodes(); ! NodeImpl child; ! for (int i = 0; i < nodes.getLength(); i++) { ! child = (NodeImpl) nodes.item(i); removeAll( child, --- 1177,1190 ---- // remove old child nodes NodeList nodes = getChildNodes(); ! NodeImpl child, last = this; ! long firstChildId = firstChildID(); ! int i = nodes.getLength(); ! for ( ; i > 0; i--) { ! child = (NodeImpl) nodes.item(i - 1); ! if(child.getNodeType() == Node.ATTRIBUTE_NODE) { ! firstChildId = child.gid + 1; ! last = child; ! break; ! } removeAll( child, *************** *** 1187,1193 **** } ownerDocument.broker.endRemove(); ! children = 0; // append new content ! appendChildren(firstChildID(), this, newContent, true); ownerDocument.broker.update(this); // reindex if required --- 1194,1200 ---- } ownerDocument.broker.endRemove(); ! children = i; // append new content ! appendChildren(firstChildId, last, newContent, true); ownerDocument.broker.update(this); // reindex if required Index: DocumentImpl.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/dom/DocumentImpl.java,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** DocumentImpl.java 25 Mar 2004 13:25:56 -0000 1.35 --- DocumentImpl.java 23 Apr 2004 13:07:48 -0000 1.36 *************** *** 143,146 **** --- 143,148 ---- this.ownerDocument = this; this.collection = old.collection; + if(old.collection == null) + throw new RuntimeException("Collection == null"); this.children = old.children; this.maxDepth = old.maxDepth; |
From: Wolfgang M. M. <wol...@us...> - 2004-04-16 14:45:04
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16385/src/org/exist/xquery/parser Modified Files: XQueryParser.java XQueryTreeParser.java Log Message: XQuery parser failed to correctly parse logical operators with complex operands. Index: XQueryTreeParser.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** XQueryTreeParser.java 25 Feb 2004 15:31:57 -0000 1.5 --- XQueryTreeParser.java 16 Apr 2004 14:44:24 -0000 1.6 *************** *** 1523,1528 **** OpOr or= new OpOr(context); ! or.add(left); ! or.add(right); path.addPath(or); step = or; --- 1523,1528 ---- OpOr or= new OpOr(context); ! or.addPath(left); ! or.addPath(right); path.addPath(or); step = or; *************** *** 1548,1553 **** OpAnd and= new OpAnd(context); ! and.add(left); ! and.add(right); path.addPath(and); step = and; --- 1548,1553 ---- OpAnd and= new OpAnd(context); ! and.addPath(left); ! and.addPath(right); path.addPath(and); step = and; *************** *** 3715,3719 **** String namespaceURI= context.getURIForPrefix(nc3.getText()); if (namespaceURI == null) ! throw new EXistException("No namespace defined for prefix " + nc.getText()); qname= new QName(null, namespaceURI, null); --- 3715,3719 ---- String namespaceURI= context.getURIForPrefix(nc3.getText()); if (namespaceURI == null) ! throw new EXistException("No namespace defined for prefix " + nc3.getText()); qname= new QName(null, namespaceURI, null); Index: XQueryParser.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** XQueryParser.java 8 Mar 2004 11:21:22 -0000 1.7 --- XQueryParser.java 16 Apr 2004 14:44:22 -0000 1.8 *************** *** 3358,3361 **** --- 3358,3362 ---- case LITERAL_function: case LITERAL_variable: + case LITERAL_element: case LITERAL_import: case LITERAL_at: *************** *** 4176,4179 **** --- 4177,4181 ---- case LITERAL_function: [...1237 lines suppressed...] private static final long[] mk_tokenSet_9() { ! long[] data = { -8388117446015320064L, -33887691393268129L, 237631L, 0L, 0L, 0L}; return data; } public static final BitSet _tokenSet_9 = new BitSet(mk_tokenSet_9()); private static final long[] mk_tokenSet_10() { ! long[] data = { -6086786969960972288L, -35576541255629217L, 229411L, 0L, 0L, 0L}; return data; } --- 6197,6206 ---- public static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8()); private static final long[] mk_tokenSet_9() { ! long[] data = { -8385865646201634816L, -33887691393268129L, 237631L, 0L, 0L, 0L}; return data; } public static final BitSet _tokenSet_9 = new BitSet(mk_tokenSet_9()); private static final long[] mk_tokenSet_10() { ! long[] data = { -6084535170147287040L, -35576541255629217L, 229411L, 0L, 0L, 0L}; return data; } |
From: Wolfgang M. M. <wol...@us...> - 2004-04-16 14:45:02
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xmldb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16385/src/org/exist/xmldb Modified Files: LocalXPathQueryService.java Log Message: XQuery parser failed to correctly parse logical operators with complex operands. Index: LocalXPathQueryService.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/LocalXPathQueryService.java,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** LocalXPathQueryService.java 14 Apr 2004 12:17:22 -0000 1.36 --- LocalXPathQueryService.java 16 Apr 2004 14:44:22 -0000 1.37 *************** *** 228,232 **** AST ast = parser.getAST(); ! PathExpr expr = new PathExpr(context); treeParser.xpath(ast, expr); --- 228,232 ---- AST ast = parser.getAST(); ! //LOG.debug("AST: " + ast.toStringTree()); PathExpr expr = new PathExpr(context); treeParser.xpath(ast, expr); *************** *** 238,241 **** --- 238,242 ---- } LOG.debug("compilation took " + (System.currentTimeMillis() - start)); + //LOG.debug("query:\n " + expr.pprint()); return expr; } catch (EXistException e) { |
From: Wolfgang M. M. <wol...@us...> - 2004-04-16 14:44:35
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery/functions/xmldb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16385/src/org/exist/xquery/functions/xmldb Modified Files: XMLDBLastModified.java Log Message: XQuery parser failed to correctly parse logical operators with complex operands. Index: XMLDBLastModified.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/functions/xmldb/XMLDBLastModified.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** XMLDBLastModified.java 26 Mar 2004 11:04:01 -0000 1.1 --- XMLDBLastModified.java 16 Apr 2004 14:44:25 -0000 1.2 *************** *** 69,72 **** return Sequence.EMPTY_SEQUENCE; } - } --- 69,71 ---- |
From: Wolfgang M. M. <wol...@us...> - 2004-04-16 14:44:35
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/collections/triggers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16385/src/org/exist/collections/triggers Modified Files: Trigger.java Log Message: XQuery parser failed to correctly parse logical operators with complex operands. Index: Trigger.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/collections/triggers/Trigger.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Trigger.java 2 Oct 2003 12:19:26 -0000 1.2 --- Trigger.java 16 Apr 2004 14:44:24 -0000 1.3 *************** *** 62,65 **** --- 62,66 ---- * The collection configuration file looks as follows: * + * <pre> * <?xml version="1.0" encoding="ISO-8859-1"?> * <exist:collection xmlns:exist="http://exist-db.org/collection-config/1.0"> *************** *** 72,75 **** --- 73,77 ---- * </exist:triggers> * </exist:collection> + * </pre> * * Triggers may have two roles: |
From: Wolfgang M. M. <wol...@us...> - 2004-04-16 14:44:33
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16385/src/org/exist/xquery Modified Files: PathExpr.java Log Message: XQuery parser failed to correctly parse logical operators with complex operands. Index: PathExpr.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/PathExpr.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PathExpr.java 21 Feb 2004 17:56:39 -0000 1.2 --- PathExpr.java 16 Apr 2004 14:44:24 -0000 1.3 *************** *** 55,62 **** --- 55,74 ---- } + /** + * Add an arbitrary expression to this object's list of + * child-expressions. + * + * @param s + */ public void add( Expression s ) { steps.add( s ); } + /** + * Add all the child-expressions from another PathExpr + * to this object's child-expressions. + * + * @param path + */ public void add( PathExpr path ) { Expression expr; *************** *** 71,78 **** --- 83,101 ---- } + /** + * Add another PathExpr to this object's expression list. + * @param path + */ public void addPath( PathExpr path ) { steps.add( path ); } + /** + * Add a predicate expression to the list of expressions. + * The predicate is added to the last expression in the + * list. + * + * @param pred + */ public void addPredicate( Predicate pred ) { Expression e = (Expression) steps.getLast(); |
From: Wolfgang M. M. <wol...@us...> - 2004-04-16 14:44:33
|
Update of /cvsroot/exist/eXist-1.0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16385 Modified Files: build.xml conf.xml Log Message: XQuery parser failed to correctly parse logical operators with complex operands. Index: conf.xml =================================================================== RCS file: /cvsroot/exist/eXist-1.0/conf.xml,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** conf.xml 25 Feb 2004 15:31:57 -0000 1.47 --- conf.xml 16 Apr 2004 14:44:24 -0000 1.48 *************** *** 37,41 **** some more memory to waste. --> <db-connection database="native" files="webapp/WEB-INF/data" ! pageSize="4096" cacheSize="48M" free_mem_min="10"> <!-- Settings for the database connection pool: --- 37,41 ---- some more memory to waste. --> <db-connection database="native" files="webapp/WEB-INF/data" ! pageSize="4096" cacheSize="48M" free_mem_min="10"> <!-- Settings for the database connection pool: Index: build.xml =================================================================== RCS file: /cvsroot/exist/eXist-1.0/build.xml,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** build.xml 29 Mar 2004 14:15:12 -0000 1.44 --- build.xml 16 Apr 2004 14:44:24 -0000 1.45 *************** *** 197,201 **** </jar> </target> ! <!-- ================================================================== --> <!-- Build all --> --- 197,201 ---- </jar> </target> ! <!-- ================================================================== --> <!-- Build all --> |
From: Wolfgang M. M. <wol...@us...> - 2004-04-16 14:41:46
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery/functions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15791/src/org/exist/xquery/functions Modified Files: FunNot.java Log Message: not() function produced wrong results. Index: FunNot.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/functions/FunNot.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FunNot.java 29 Jan 2004 15:06:41 -0000 1.1 --- FunNot.java 16 Apr 2004 14:41:37 -0000 1.2 *************** *** 21,25 **** package org.exist.xquery.functions; - import org.exist.dom.ContextItem; import org.exist.dom.ExtArrayNodeSet; import org.exist.dom.NodeProxy; --- 21,24 ---- *************** *** 31,36 **** import org.exist.xquery.Function; import org.exist.xquery.FunctionSignature; - import org.exist.xquery.XQueryContext; import org.exist.xquery.XPathException; import org.exist.xquery.value.BooleanValue; import org.exist.xquery.value.Item; --- 30,35 ---- import org.exist.xquery.Function; import org.exist.xquery.FunctionSignature; import org.exist.xquery.XPathException; + import org.exist.xquery.XQueryContext; import org.exist.xquery.value.BooleanValue; import org.exist.xquery.value.Item; *************** *** 87,115 **** Sequence argSeq = arg.eval(contextSequence, contextItem); ! LOG.debug("not argument: " + argSeq.getLength()); ! NodeProxy parent; ! long pid; ! ContextItem contextNode; ! NodeProxy next; ! Item item; ! // iterate through nodes and remove hits from result ! for (SequenceIterator i = argSeq.iterate(); i.hasNext();) { ! item = (Item) i.nextItem(); ! current = (NodeProxy) item; ! contextNode = current.getContext(); ! if (contextNode == null) { ! LOG.warn("context node is missing!"); ! break; ! } ! ! while (contextNode != null) { ! next = contextNode.getNode(); ! //if ((parent = result.get(next)) != null) ! result.remove(next); ! contextNode = contextNode.getNextItem(); ! } ! } ! LOG.debug("found " + result.getLength()); ! return result; // case 2: simply invert the boolean value } else { --- 86,91 ---- Sequence argSeq = arg.eval(contextSequence, contextItem); ! NodeSet argSet = argSeq.toNodeSet().getContextNodes(true); ! return result.except(argSet); // case 2: simply invert the boolean value } else { |
From: Wolfgang M. M. <wol...@us...> - 2004-04-16 14:41:05
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15636/src/org/exist/xquery/parser Modified Files: XQuery.g Log Message: XQuery parser failed to correctly parse logical operators with complex operands. Index: XQuery.g =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser/XQuery.g,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** XQuery.g 14 Apr 2004 12:17:25 -0000 1.7 --- XQuery.g 16 Apr 2004 14:40:54 -0000 1.8 *************** *** 811,814 **** --- 811,816 ---- { name= null; } : + "element" { name = "element"; } + | "to" { name = "to"; } | *************** *** 1547,1552 **** { OpOr or= new OpOr(context); ! or.add(left); ! or.add(right); path.addPath(or); step = or; --- 1549,1554 ---- { OpOr or= new OpOr(context); ! or.addPath(left); ! or.addPath(right); path.addPath(or); step = or; *************** *** 1564,1569 **** { OpAnd and= new OpAnd(context); ! and.add(left); ! and.add(right); path.addPath(and); step = and; --- 1566,1571 ---- { OpAnd and= new OpAnd(context); ! and.addPath(left); ! and.addPath(right); path.addPath(and); step = and; |
From: Wolfgang M. M. <wol...@us...> - 2004-04-15 09:24:25
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xmldb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1193/src/org/exist/xmldb Modified Files: LocalCollection.java CollectionImpl.java RemoteCollection.java Log Message: Added method to test if the collection is remote or local. Index: LocalCollection.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/LocalCollection.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** LocalCollection.java 16 Feb 2004 13:02:16 -0000 1.28 --- LocalCollection.java 15 Apr 2004 09:24:16 -0000 1.29 *************** *** 516,518 **** --- 516,525 ---- observers.add(o); } + + /* (non-Javadoc) + * @see org.exist.xmldb.CollectionImpl#isRemoteCollection() + */ + public boolean isRemoteCollection() throws XMLDBException { + return false; + } } Index: RemoteCollection.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/RemoteCollection.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** RemoteCollection.java 14 Apr 2004 12:17:22 -0000 1.11 --- RemoteCollection.java 15 Apr 2004 09:24:16 -0000 1.12 *************** *** 503,505 **** --- 503,512 ---- return permissions; } + + /* (non-Javadoc) + * @see org.exist.xmldb.CollectionImpl#isRemoteCollection() + */ + public boolean isRemoteCollection() throws XMLDBException { + return true; + } } Index: CollectionImpl.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/CollectionImpl.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** CollectionImpl.java 16 Feb 2004 13:02:16 -0000 1.11 --- CollectionImpl.java 15 Apr 2004 09:24:16 -0000 1.12 *************** *** 16,19 **** --- 16,21 ---- public interface CollectionImpl extends Collection { + public boolean isRemoteCollection() throws XMLDBException; + /** * Returns the time of creation of the collection. |
From: Wolfgang M. M. <wol...@us...> - 2004-04-15 09:23:13
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/storage/store In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1021/src/org/exist/storage/store Modified Files: DOMFileIterator.java Log Message: Removing a collection threw a LockException. The lock has been released twice. Index: DOMFileIterator.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/storage/store/DOMFileIterator.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DOMFileIterator.java 14 Apr 2004 12:17:21 -0000 1.4 --- DOMFileIterator.java 15 Apr 2004 09:23:04 -0000 1.5 *************** *** 82,86 **** db.getPageBuffer().add(p); final DOMFilePageHeader ph = p.getPageHeader(); - lock.release(); if (offset < ph.getDataLength()) return true; --- 82,85 ---- |
From: Wolfgang M. M. <wol...@us...> - 2004-04-15 09:21:18
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/cocoon In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv688/src/org/exist/cocoon Modified Files: XQueryGenerator.java Log Message: request, response and session objects can not be passed to a remote database instance. Check added. Index: XQueryGenerator.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/cocoon/XQueryGenerator.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** XQueryGenerator.java 14 Apr 2004 12:17:24 -0000 1.12 --- XQueryGenerator.java 15 Apr 2004 09:20:54 -0000 1.13 *************** *** 46,49 **** --- 46,50 ---- import org.exist.storage.serializers.EXistOutputKeys; import org.exist.storage.serializers.Serializer; + import org.exist.xmldb.CollectionImpl; import org.exist.xmldb.CompiledExpression; import org.exist.xmldb.XQueryService; *************** *** 204,215 **** service.setNamespace(prefix, RequestModule.NAMESPACE_URI); service.setModuleLoadPath(baseURI); ! HttpServletRequest httpRequest = (HttpServletRequest) objectModel ! .get(HttpEnvironment.HTTP_REQUEST_OBJECT); ! service.declareVariable(prefix + ":request", ! new CocoonRequestWrapper(request, httpRequest)); ! service.declareVariable(prefix + ":response", ! new CocoonResponseWrapper(response)); ! service.declareVariable(prefix + ":session", ! new CocoonSessionWrapper(session)); declareParameters(service); --- 205,218 ---- service.setNamespace(prefix, RequestModule.NAMESPACE_URI); service.setModuleLoadPath(baseURI); ! if(!((CollectionImpl)collection).isRemoteCollection()) { ! HttpServletRequest httpRequest = (HttpServletRequest) objectModel ! .get(HttpEnvironment.HTTP_REQUEST_OBJECT); ! service.declareVariable(prefix + ":request", ! new CocoonRequestWrapper(request, httpRequest)); ! service.declareVariable(prefix + ":response", ! new CocoonResponseWrapper(response)); ! service.declareVariable(prefix + ":session", ! new CocoonSessionWrapper(session)); ! } declareParameters(service); |
From: Wolfgang M. M. <wol...@us...> - 2004-04-15 09:19:14
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/http/servlets In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv310/src/org/exist/http/servlets Modified Files: EXistServlet.java Log Message: Added destroy() to shutdown database instance. Index: EXistServlet.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/http/servlets/EXistServlet.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EXistServlet.java 16 Feb 2004 13:02:17 -0000 1.2 --- EXistServlet.java 15 Apr 2004 09:19:05 -0000 1.3 *************** *** 1,5 **** /* * eXist Open Source Native XML Database ! * Copyright (C) 2001-03 Wolfgang M. Meier * wol...@ex... * http://exist-db.org --- 1,5 ---- /* * eXist Open Source Native XML Database ! * Copyright (C) 2001-04 Wolfgang M. Meier * wol...@ex... * http://exist-db.org *************** *** 277,280 **** --- 277,289 ---- } + + /* (non-Javadoc) + * @see javax.servlet.GenericServlet#destroy() + */ + public void destroy() { + super.destroy(); + BrokerPool.stopAll(false); + } + private User authenticate(HttpServletRequest request) { String auth = request.getHeader("Authorization"); |
From: Wolfgang M. M. <wol...@us...> - 2004-04-14 12:18:03
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xmldb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20167/src/org/exist/xmldb Modified Files: RemoteIndexQueryService.java DatabaseImpl.java RemoteCollection.java LocalXPathQueryService.java Log Message: Improved page organization in dom.dbx to fix known XUpdate issues. Index: LocalXPathQueryService.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/LocalXPathQueryService.java,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** LocalXPathQueryService.java 25 Mar 2004 12:50:51 -0000 1.35 --- LocalXPathQueryService.java 14 Apr 2004 12:17:22 -0000 1.36 *************** *** 1,2 **** --- 1,24 ---- + /* + * eXist Open Source Native XML Database + * Copyright (C) 2001-03 Wolfgang M. Meier + * wol...@ex... + * http://exist.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * $Id$ + */ package org.exist.xmldb; Index: DatabaseImpl.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/DatabaseImpl.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** DatabaseImpl.java 29 Jan 2004 15:06:43 -0000 1.11 --- DatabaseImpl.java 14 Apr 2004 12:17:22 -0000 1.12 *************** *** 243,247 **** public String getProperty( String property ) throws XMLDBException { if ( property.equals( "create-database" ) ) ! return new Boolean( autoCreate ).toString(); if ( property.equals( "database-id" ) ) return dbName; --- 243,247 ---- public String getProperty( String property ) throws XMLDBException { if ( property.equals( "create-database" ) ) ! return Boolean.valueOf( autoCreate ).toString(); if ( property.equals( "database-id" ) ) return dbName; Index: RemoteCollection.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/RemoteCollection.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** RemoteCollection.java 16 Feb 2004 13:02:16 -0000 1.10 --- RemoteCollection.java 14 Apr 2004 12:17:22 -0000 1.11 *************** *** 451,455 **** params.addElement(data); params.addElement(getPath() + '/' + res.getId()); ! params.addElement(new Boolean(true)); try { rpcClient.execute("storeBinary", params); --- 451,455 ---- params.addElement(data); params.addElement(getPath() + '/' + res.getId()); ! params.addElement(Boolean.TRUE); try { rpcClient.execute("storeBinary", params); *************** *** 483,487 **** params.addElement(fileName); params.addElement(getPath() + '/' + res.getId()); ! params.addElement(new Boolean(true)); rpcClient.execute("parseLocal", params); } catch (FileNotFoundException e) { --- 483,487 ---- params.addElement(fileName); params.addElement(getPath() + '/' + res.getId()); ! params.addElement(Boolean.TRUE); rpcClient.execute("parseLocal", params); } catch (FileNotFoundException e) { Index: RemoteIndexQueryService.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/RemoteIndexQueryService.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RemoteIndexQueryService.java 16 Feb 2004 13:02:16 -0000 1.3 --- RemoteIndexQueryService.java 14 Apr 2004 12:17:22 -0000 1.4 *************** *** 40,44 **** Vector params = new Vector(); params.addElement(parent.getPath()); ! params.addElement(new Boolean(inclusive)); Vector result = (Vector) rpcClient.execute("getIndexedElements", params); Occurrences occurrences[] = new Occurrences[result.size()]; --- 40,44 ---- Vector params = new Vector(); params.addElement(parent.getPath()); ! params.addElement(Boolean.valueOf(inclusive)); Vector result = (Vector) rpcClient.execute("getIndexedElements", params); Occurrences occurrences[] = new Occurrences[result.size()]; *************** *** 75,79 **** params.addElement(start); params.addElement(end); ! params.addElement(new Boolean(inclusive)); Vector result = (Vector) rpcClient.execute("scanIndexTerms", params); Occurrences occurrences[] = new Occurrences[result.size()]; --- 75,79 ---- params.addElement(start); params.addElement(end); ! params.addElement(Boolean.valueOf(inclusive)); Vector result = (Vector) rpcClient.execute("scanIndexTerms", params); Occurrences occurrences[] = new Occurrences[result.size()]; |
From: Wolfgang M. M. <wol...@us...> - 2004-04-14 12:18:03
|
Update of /cvsroot/exist/eXist-1.0/src/org/dbxml/core/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20167/src/org/dbxml/core/data Modified Files: Value.java Removed Files: Key.java Log Message: Improved page organization in dom.dbx to fix known XUpdate issues. --- Key.java DELETED --- Index: Value.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/dbxml/core/data/Value.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Value.java 5 Apr 2004 11:19:29 -0000 1.5 --- Value.java 14 Apr 2004 12:17:22 -0000 1.6 *************** *** 116,129 **** return data; } - - public Value trim() { - if(pos > 0 || len < data.length) { - System.out.println("trimming value"); - final byte[] b = new byte[len]; - System.arraycopy(data, pos, b, 0, len); - return new Value(b); - } - return this; - } public final byte[] data() { --- 116,119 ---- *************** *** 134,146 **** return pos; } - - public final int length() { - return len; - } - public final byte get(int offset) { - return data[pos + offset]; - } - /** * getLength retrieves the length of the data being stored by the Value. --- 124,128 ---- *************** *** 152,187 **** } - /** - * getInputStream returns an InputStream for the Value. - * - * @return An InputStream - */ - public final InputStream getInputStream() { - return new ByteArrayInputStream(data, pos, len); - } - - /** - * streamTo streams the content of the Value to an OutputStream. - * - * @param out the OutputStream - */ - public void streamTo(OutputStream out) throws IOException { - out.write(data, pos, len); - } - - public final void streamTo(OutputStream out, int offset) - throws IOException { - out.write(data, pos + offset, len - offset); - } - - public final void streamTo(OutputStream out, int offset, int length) - throws IOException { - out.write(data, pos + offset, length); - } - - public final void copyTo(byte[] tdata, int tpos) { - System.arraycopy(data, pos, tdata, tpos, len); - } - public String toString() { return new String(getData()); --- 134,137 ---- *************** *** 206,211 **** public final int compareTo(Value value) { - // System.out.println(toString() + "(" + len + ") = " + - // value.toString() + "(" + value.len + ")"); final int dlen = value.len; final int stop = len > dlen ? dlen : len; --- 156,159 ---- |
From: Wolfgang M. M. <wol...@us...> - 2004-04-14 12:18:03
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery/value In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20167/src/org/exist/xquery/value Modified Files: UntypedAtomicValue.java DoubleValue.java StringValue.java DecimalValue.java FloatValue.java BooleanValue.java Log Message: Improved page organization in dom.dbx to fix known XUpdate issues. Index: UntypedAtomicValue.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/value/UntypedAtomicValue.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** UntypedAtomicValue.java 29 Jan 2004 15:06:42 -0000 1.1 --- UntypedAtomicValue.java 14 Apr 2004 12:17:22 -0000 1.2 *************** *** 230,234 **** return new Byte((byte) v.getInt()); } else if (target == boolean.class || target == Boolean.class) { ! return new Boolean(effectiveBooleanValue()); } else if (target == char.class || target == Character.class) { if (value.length() > 1 || value.length() == 0) --- 230,234 ---- return new Byte((byte) v.getInt()); } else if (target == boolean.class || target == Boolean.class) { ! return Boolean.valueOf(effectiveBooleanValue()); } else if (target == char.class || target == Character.class) { if (value.length() > 1 || value.length() == 0) Index: FloatValue.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/value/FloatValue.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FloatValue.java 29 Jan 2004 15:06:42 -0000 1.1 --- FloatValue.java 14 Apr 2004 12:17:22 -0000 1.2 *************** *** 257,261 **** return getStringValue(); else if (target == Boolean.class) ! return new Boolean(effectiveBooleanValue()); else if (target == Object.class) return new Double(value); --- 257,261 ---- return getStringValue(); else if (target == Boolean.class) ! return Boolean.valueOf(effectiveBooleanValue()); else if (target == Object.class) return new Double(value); Index: DoubleValue.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/value/DoubleValue.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DoubleValue.java 29 Jan 2004 15:06:42 -0000 1.1 --- DoubleValue.java 14 Apr 2004 12:17:22 -0000 1.2 *************** *** 362,366 **** return getStringValue(); else if (target == Boolean.class) ! return new Boolean(effectiveBooleanValue()); else if (target == Object.class) return new Double(value); --- 362,366 ---- return getStringValue(); else if (target == Boolean.class) ! return Boolean.valueOf(effectiveBooleanValue()); else if (target == Object.class) return new Double(value); Index: StringValue.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/value/StringValue.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** StringValue.java 17 Feb 2004 15:04:54 -0000 1.3 --- StringValue.java 14 Apr 2004 12:17:22 -0000 1.4 *************** *** 218,222 **** return new Byte((byte)v.getInt()); } else if(target == boolean.class || target == Boolean.class) { ! return new Boolean(effectiveBooleanValue()); } else if(target == char.class || target == Character.class) { if(value.length() > 1 || value.length() == 0) --- 218,222 ---- return new Byte((byte)v.getInt()); } else if(target == boolean.class || target == Boolean.class) { ! return Boolean.valueOf(effectiveBooleanValue()); } else if(target == char.class || target == Character.class) { if(value.length() > 1 || value.length() == 0) Index: DecimalValue.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/value/DecimalValue.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DecimalValue.java 29 Jan 2004 15:06:42 -0000 1.1 --- DecimalValue.java 14 Apr 2004 12:17:22 -0000 1.2 *************** *** 281,285 **** return getStringValue(); else if (target == Boolean.class) ! return new Boolean(effectiveBooleanValue()); else if (target == Object.class) return value; --- 281,285 ---- return getStringValue(); else if (target == Boolean.class) ! return Boolean.valueOf(effectiveBooleanValue()); else if (target == Object.class) return value; Index: BooleanValue.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/value/BooleanValue.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BooleanValue.java 29 Jan 2004 15:06:42 -0000 1.1 --- BooleanValue.java 14 Apr 2004 12:17:22 -0000 1.2 *************** *** 154,158 **** return this; else if(target == Boolean.class || target == boolean.class || target == Object.class) ! return new Boolean(value); else if(target == String.class || target == CharSequence.class) { StringValue v = (StringValue)convertTo(Type.STRING); --- 154,158 ---- return this; else if(target == Boolean.class || target == boolean.class || target == Object.class) ! return Boolean.valueOf(value); else if(target == String.class || target == CharSequence.class) { StringValue v = (StringValue)convertTo(Type.STRING); |