Add Command: Resource not found
Thursday, 9 August 2018 · 3 messages · last reply 10 Aug 2018
FP
Florian Peschka9 Aug 2018 09:27 #
Hi all,
I am trying to add content to an index directly (not from a file).
Given the following setup:
ClientSession session = new ClientSession("localhost", 1984, "admin", "admin");
session.execute(new CreateDB("test"));
session.execute(new Open("test"));
session.execute(new Add("test", "<x>te
st</x>"));
I receive this error:
Exception in thread "main" org.basex.core.BaseXException: Resource "C:/Users/FloPes/"<x>te st</x>"" not found.
at
org.basex.api.client.ClientSession.receive(ClientSession.java:191)
at
org.basex.api.client.ClientSession.execute(ClientSession.java:160)
at
org.basex.api.client.ClientSession.execute(ClientSession.java:165)
at org.basex.api.client.Session.execute(Session.java:36)
at basexerrordemo.BaseXErrorDemo.main(BaseXErrorDemo.java:45)
However, when I change the Add command to send
"<x>test</x>" (no space), it works as expected.
What am I doing wrong?
--
There are two hard things in computer science:
cache invalidation, naming things, and off-by-one errors.
CG
Christian Grün9 Aug 2018 19:54 #
Hi Florian,
Thanks for the hint. In fact, it wasn’t you, but BaseX that was acting wrong. Client-side command parsing was faulty due to the whitespace that occurred in the string input.
Things have improved in the latest stable snapshot [1]. The release of BaseX 9.1 is currently scheduled for September.
Best,
Christian
[1] http://files.basex.org/releases/latest/
Quoted text · Florian Peschka · 32 lines
On Thu, Aug 9, 2018 at 9:28 AM Florian Peschka <florian.peschka at tanner.de> wrote: > > Hi all, > > I am trying to add content to an index directly (not from a file). > > Given the following setup: > > ClientSession session = new ClientSession("localhost", 1984, "admin", "admin"); > session.execute(new CreateDB("test")); > session.execute(new Open("test")); > session.execute(new Add("test", "<x>te st</x>")); > > I receive this error: > > Exception in thread "main" org.basex.core.BaseXException: Resource "C:/Users/FloPes/"<x>te st</x>"" not found. > at org.basex.api.client.ClientSession.receive(ClientSession.java:191) > at org.basex.api.client.ClientSession.execute(ClientSession.java:160) > at org.basex.api.client.ClientSession.execute(ClientSession.java:165) > at org.basex.api.client.Session.execute(Session.java:36) > at basexerrordemo.BaseXErrorDemo.main(BaseXErrorDemo.java:45) > > However, when I change the Add command to send "<x>test</x>" (no space), it works as expected. > > What am I doing wrong? > > -- > There are two hard things in computer science: > cache invalidation, naming things, and off-by-one errors. > >
FP
Florian Peschka10 Aug 2018 08:14 #
Hi Christian,
thanks for the reply. I suspected something like this when I parsed through the source code.
We have a working workaround by saving the input string to a temporary file and then sending baseX that file to index instead. This works as expected.
I'll look into it again when the new version is out.
--
There are two hard things in computer science:
cache invalidation, naming things, and off-by-one errors.
Am 09.08.2018 um 19:54 schrieb
Christian Grün:
Quoted text · Christian Grün · 55 lines
> Hi Florian, > > Thanks for the hint. In fact, it wasn’t you, but BaseX that was acting > wrong. Client-side command parsing was faulty due to the whitespace > that occurred in the string input. > > Things have improved in the latest stable snapshot [1]. The release of > BaseX 9.1 is currently scheduled for September. > > Best, > Christian > > [1] http://files.basex.org/releases/latest/ > > > > On Thu, Aug 9, 2018 at 9:28 AM Florian Peschka > <florian.peschka at tanner.de> wrote: > > > > > Hi all, > > > > I am trying to add content to an index directly (not from a file). > > > > Given the following setup: > > > > ClientSession session = new ClientSession("localhost", 1984, "admin", "admin"); > > session.execute(new CreateDB("test")); > > session.execute(new Open("test")); > > session.execute(new Add("test", "<x>te st</x>")); > > > > I receive this error: > > > > Exception in thread "main" org.basex.core.BaseXException: Resource "C:/Users/FloPes/"<x>te st</x>"" not found. > > at org.basex.api.client.ClientSession.receive(ClientSession.java:191) > > at org.basex.api.client.ClientSession.execute(ClientSession.java:160) > > at org.basex.api.client.ClientSession.execute(ClientSession.java:165) > > at org.basex.api.client.Session.execute(Session.java:36) > > at basexerrordemo.BaseXErrorDemo.main(BaseXErrorDemo.java:45) > > > > However, when I change the Add command to send "<x>test</x>" (no space), it works as expected. > > > > What am I doing wrong? > > > > -- > > There are two hard things in computer science: > > cache invalidation, naming things, and off-by-one errors. > > > > > > > > > > > >
Written for BaseX 9.0. BaseX may have changed since: please check the current documentation.
⚡Generated with XQuery