manifoldcf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Wright (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CONNECTORS-1471) FileOutputConnector.removeDocument() Root Path Check Always Fails
Date Wed, 01 Nov 2017 15:00:00 GMT

    [ https://issues.apache.org/jira/browse/CONNECTORS-1471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16234175#comment-16234175
] 

Karl Wright commented on CONNECTORS-1471:
-----------------------------------------

Hi [~dhotchkiss], the way it's supposed to work is as follows:

(1) The connector computes a version string in this method:

{code}

  public VersionContext getPipelineDescription(Specification spec) throws ManifoldCFException,
ServiceInterruption;

{code}

(2) The indexing takes place in this method, which receives both the version string AND the
specification:

{code}
  public int addOrReplaceDocumentWithException(String documentURI, VersionContext outputDescription,
RepositoryDocument document, String authorityNameString, IOutputAddActivity activities) throws
ManifoldCFException, ServiceInterruption, IOException;
{code}

(3) The removal method receives only the version string, BUT the version string is based on
the specification, so you should be able to pack what you need into that version string, and
unpack what you need.

If you look at other connectors, they create their version strings using pack/unpack methods
provided by the framework (as superclass methods) explicitly for this purpose.  The author
of the filesystem connector was not apparently aware of this and thus may not have provided
a way of converting a version string back to a FileOutputSpecs object (usually, it would be
a FileOutputSpecs(String packedString) method that does that).  You may need to write it if
not there.


> FileOutputConnector.removeDocument() Root Path Check Always Fails 
> ------------------------------------------------------------------
>
>                 Key: CONNECTORS-1471
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-1471
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: File system connector
>    Affects Versions: ManifoldCF 2.8.1
>         Environment: Demonstrated on:
> OS: Linux RHEL 7 and Ubuntu 14.04, 
> Java Version: JDK 1.8,
> Databases: HSQL and PostgreSQL.
>            Reporter: David Hotchkiss
>            Assignee: Karl Wright
>            Priority: Major
>             Fix For: ManifoldCF 2.9
>
>
> The FileOutputConnector.removeDocument() method has a precondition check for existence
of the "root" path portion of the document location.  But the path is not specified and the
check is based on an empty StringBuffer which will always fail.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message