Hi Tang,

thanks for the update.

I gonna create Jira about that and fix it.

Regards
JB

On 01/29/2013 04:00 AM, Tang Yong wrote:
Hi JB
CC Cave Team

Today, I used the cave's trunk to populate a repo from an external
repository[1],

karaf@root> cave:populate-repository cave-repo
http://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.ant/

[1]:
http://karaf.apache.org/manual/cave/3.0.0-SNAPSHOT/user-guide/populate-repository.html

I found two issues as following:

1) about populating from an external repository by a http proxy
I access internet's resources by a http proxy. While populating from an
external repository, please seeing CaveRepositoryImpl class's
populateFromHttp method ,

HttpClient httpClient = new DefaultHttpClient();

HttpGet httpGet = new HttpGet(url);
HttpResponse response = httpClient.execute(httpGet);
...

Here, we have not set any http proxy and will cause unknownhost related
exception.So, the above codes should firstly detect whether an user has
set a http proxy, then, if setting, adding the following logic,

HttpClient httpClient = new DefaultHttpClient();

//Detecting whether an user has set http proxy from system property
file or jvm system property
...

//If setting http proxy, TangYong Added
HttpHost proxy = new HttpHost("XXXX", YYYY, "http");

httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

HttpGet httpGet = new HttpGet(url);
HttpResponse response = httpClient.execute(httpGet);
...

2) about populated resource type
While accessing
http://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.ant/,

once accessing
http://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.ant/1.8.4_1/org.apache.servicemix.bundles.ant-1.8.4_1-src.zip,
the following exception will happen, then, repo resources's updating
will be stopped, so this should be handled properly.

org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be
text/*, application/xml, or application/xhtml+xml.
Mimetype=application/zip,
URL=http://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.ant/1.8.4_1/org.apache.servicemix.bundles.ant-1.8.4_1-src.zip
        at
org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:436)[174:org.jsoup:1.7.1]
        at
org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:393)[174:org.jsoup:1.7.1]
        at
org.jsoup.helper.HttpConnection.execute(HttpConnection.java:159)[174:org.jsoup:1.7.1]
        at
org.jsoup.helper.HttpConnection.get(HttpConnection.java:148)[174:org.jsoup:1.7.1]
        at
org.apache.karaf.cave.server.storage.CaveRepositoryImpl.populateFromHttp(CaveRepositoryImpl.java:378)[176:org.apache.karaf.cave.server.storage:3.0.0.SNAPSHOT]
        at
org.apache.karaf.cave.server.storage.CaveRepositoryImpl.populateFromHttp(CaveRepositoryImpl.java:385)[176:org.apache.karaf.cave.server.storage:3.0.0.SNAPSHOT]
        at
org.apache.karaf.cave.server.storage.CaveRepositoryImpl.populateFromHttp(CaveRepositoryImpl.java:385)[176:org.apache.karaf.cave.server.storage:3.0.0.SNAPSHOT]
        at
org.apache.karaf.cave.server.storage.CaveRepositoryImpl.populate(CaveRepositoryImpl.java:290)[176:org.apache.karaf.cave.server.storage:3.0.0.SNAPSHOT]
        at
org.apache.karaf.cave.server.command.PopulateRepositoryCommand.doExecute(PopulateRepositoryCommand.java:43)[178:org.apache.karaf.cave.server.command:3.0.0.SNAPSHOT]
        at
org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)[14:org.apache.karaf.shell.console:2.3.0]
        at
org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)[14:org.apache.karaf.shell.console:2.3.0]
        at
org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[14:org.apache.karaf.shell.console:2.3.0]
        at
org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)[14:org.apache.karaf.shell.console:2.3.0]
        at
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)[14:org.apache.karaf.shell.console:2.3.0]
        at
org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[14:org.apache.karaf.shell.console:2.3.0]
        at
org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[14:org.apache.karaf.shell.console:2.3.0]
        at
org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[14:org.apache.karaf.shell.console:2.3.0]
        at
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)[14:org.apache.karaf.shell.console:2.3.0]
        at
org.apache.karaf.shell.console.jline.Console.run(Console.java:175)[14:org.apache.karaf.shell.console:2.3.0]
        at java.lang.Thread.run(Thread.java:722)[:1.7.0_09]

Thanks
--Tang


--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to