equinox - P2 Update fails with non default osgi.configuration.area -
i trying use equinox based application in shared environment described here szenario #2 or #3.
the installation done p2 director using p2 site created buckminster.
my hope multiple users use shared install, have own configuration area can individualy update application. problem p2 update not work anymore in case: not find changed plugins , returns "nothing update" although not true.
in search answer found out p2 update stops working use non default configuration area (osgi.configuration.area), local install.
i think might problem query on profile. did more tests code root feature (of know 1 id starts "de.emsw.gosa.feature"):
private iinstallableunit findrootfeature(iprofile profile) { iinstallableunit[] uservisibleroot = profile.query(new uservisiblerootquery(), null).toarray(iinstallableunit.class); if (uservisibleroot.length > 0) { (irequirement requirement : uservisibleroot[0].getrequirements()) { imatchexpression<iinstallableunit> matchexpression = requirement.getmatches(); string id = matchexpression.getparameters()[0].tostring(); if (id.startswith("de.emsw.gosa.feature")) { //$non-nls-1$ iinstallableunit[] queryresult = profile.query(queryutil.createiuquery(id), null).toarray(iinstallableunit.class); return getlatestversion(queryresult); } } } return null; } private iinstallableunit getlatestversion(iinstallableunit[] queryresult) { if (queryresult.length == 0) return null; iinstallableunit latest = queryresult[0]; if (queryresult.length > 1) { (int = 1; < queryresult.length; i++) { if (queryresult[i].getversion().compareto(latest.getversion()) > 0) { latest = queryresult[i]; } } } return latest; } with standard local install code works expected , returns root feature installed. costum configuration area root feature not found because
profile.query(queryutil.createiuquery(id), null) returns emtpy result.
does have experience kind of situation or other pointer?
if of interest, config file (including osgi.configuration.area):
#this configuration file written by: org.eclipse.equinox.internal.frameworkadmin.equinox.equinoxfwconfigfileparser #tue may 14 11:09:34 cest 2013 eclipse.p2.profile=gosa osgi.instance.area.default=@user.home/anwendungsdaten/gosa/client/data osgi.configuration.area=@user.home/anwendungsdaten/gosa/client/configuration osgi.nl=de_de osgi.framework=file\:plugins/org.eclipse.osgi_3.8.0.v20120529-1548.jar equinox.use.ds=true osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.300.v20110815-1744.jar@1\:start org.eclipse.equinox.simpleconfigurator.configurl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info eclipse.product=de.emsw.gosa.product.client.product osgi.splashpath=platform\:/base/plugins/de.emsw.gosa.images osgi.framework.extensions= osgi.bundles.defaultstartlevel=4 eclipse.application=de.emsw.gosa.product.client.clientapplication eclipse.p2.data.area=@config.dir/../p2 thanks help! christoph
Comments
Post a Comment