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

Minoru Osuka commented on CONNECTORS-727:
-----------------------------------------

Hi Maciej, Karl

I couldn't start ManifoldCF that occurs these error.

{noformat}
org.apache.manifoldcf.core.interfaces.ManifoldCFException: No repository 
connector class 
'org.apache.manifoldcf.crawler.connectors.generic.GenericRepositoryConnector' 
was found.
        at 
org.apache.manifoldcf.crawler.interfaces.RepositoryConnectorFactory.getConnectorNoCheck(RepositoryConnectorFactory.java:185)
        at 
org.apache.manifoldcf.crawler.interfaces.RepositoryConnectorFactory.install(RepositoryConnectorFactory.java:52)
        at 
org.apache.manifoldcf.crawler.connmgr.ConnectorManager.registerConnector(ConnectorManager.java:176)
        at 
org.apache.manifoldcf.crawler.system.ManifoldCF.registerConnectors(ManifoldCF.java:465)
        at 
org.apache.manifoldcf.crawler.system.ManifoldCF.reregisterAllConnectors(ManifoldCF.java:192)
        at 
org.apache.manifoldcf.jettyrunner.ManifoldCFJettyRunner.main(ManifoldCFJettyRunner.java:229)
Caused by: java.lang.ClassNotFoundException: 
org.apache.manifoldcf.crawler.connectors.generic.GenericRepositoryConnector
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:266)
        at 
org.apache.manifoldcf.core.system.ManifoldCFResourceLoader.findClass(ManifoldCFResourceLoader.java:149)
        at 
org.apache.manifoldcf.core.system.ManifoldCF.findClass(ManifoldCF.java:1193)
        at 
org.apache.manifoldcf.crawler.interfaces.RepositoryConnectorFactory.getConnectorNoCheck(RepositoryConnectorFactory.java:163)
        ... 5 more
{noformat}


I looked at the code, found class name's miss match.
Which way do we solve this problem?

First, rename class neme.
from
    
/manifoldcf-trunk/connectors/generic/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/generic/GenericConnector.java
to
/manifoldcf-trunk/connectors/generic/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/generic/{color:red}GenericRepositoryConnector{color}.java

Second, change /manifoldcf-trunk/build.xml .
from
{code:xml}
    <target name="deliver-generic-connector" 
depends="calculate-generic-condition" if="generic.include">
        <antcall target="general-connector-delivery">
            <param name="connector-name" value="generic"/>
        </antcall>
        <antcall target="general-add-repository-connector">
            <param name="connector-name" value="generic"/>
            <param name="connector-label" value="generic"/>
            <param name="connector-class" 
value="org.apache.manifoldcf.crawler.connectors.generic.GenericRepositoryConnector"/>
        </antcall>
    </target>
{code}

to
{code:xml}
    <target name="deliver-generic-connector" 
depends="calculate-generic-condition" if="generic.include">
        <antcall target="general-connector-delivery">
            <param name="connector-name" value="generic"/>
        </antcall>
        <antcall target="general-add-repository-connector">
            <param name="connector-name" value="generic"/>
            <param name="connector-label" value="generic"/>
            <param name="connector-class" 
value="org.apache.manifoldcf.crawler.connectors.generic.GenericConnector"/>
        </antcall>
    </target>
{code}

Thanks,

                
> generic connector
> -----------------
>
>                 Key: CONNECTORS-727
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-727
>             Project: ManifoldCF
>          Issue Type: Improvement
>            Reporter: Maciej Lizewski
>            Assignee: Karl Wright
>             Fix For: ManifoldCF 1.3
>
>
> OK, this is tricky, but really nice idea. I was thinking about indexing some 
> sources which do not have API, or API does not provide information needed by 
> Manifold, or there is dedicated system and IT team that can easily add some 
> API. 
> Now you have to write dedicated connector and probably some API extension, 
> plugin, etc that would talk with each other to provide seeds, versions and 
> documents. Which requires knowledge on how to write Manifold connectors AND 
> knowledge about system - there is no so many programmers that know both 
> systems :)
> So lets make things easier - provide "generic" Manifold connector that works 
> with "generic" API (ie XML over HTTP which is *really* easy to implement in 
> any language). This API and protocol are strictly defined and specified. Then 
> to integrate with the custom document repository one has to only implement 
> API entry point which follow those specifications.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to