Hi Cédric,

the easiest way to verify workaround for this issue without hassle is by
downloading snapshot and replacing previous bundle in your felix setup
(remove felix-cache sub-directory prior to start):

https://oss.sonatype.org/content/repositories/osgi-snapshots/org/osgi/osgi.enroute.web.simple.provider/2.1.0-SNAPSHOT/osgi.enroute.web.simple.provider-2.1.0-20170404.072319-1.jar

The felix-framework project fixed this issue both also (trunk and 5.6.x
branch) so it should be available with
framework-5.6.4 release.

Regards,
Mario


2017-04-04 10:13 GMT+02:00 HENRY Cedric D <cedric.d.he...@alstom.com>:

> Peter, Mario,
>
>
>
> I am glad to hear that you found the cause.
>
> I am looking forward to seeing it working.
>
>
>
> Thanks guys.
>
>
>
> Best Regards,
>
> *Cédric*
>
>
>
> *From:* osgi-dev-boun...@mail.osgi.org [mailto:osgi-dev-bounces@mail.
> osgi.org] *On Behalf Of *Peter Kriens
> *Sent:* Tuesday, April 04, 2017 10:21 AM
>
> *To:* OSGi Developer Mail List <osgi-dev@mail.osgi.org>
> *Subject:* Re: [osgi-dev] RHelp needed about Web Application with
> AngularJS
>
>
>
> I recognise this problem … but I also recall there was a fix for this. I
> just looked at Felix but could not fid anything. I also do not see the code
> in the repository. Sigh, must have fixed it locally or it did not make the
> refactoring of this bundle.
>
>
>
> I’ve pushed a fix for this.
>
>
>
> Kind regards,
>
>
>
>             Peter Kriens
>
>
>
> On 3 Apr 2017, at 21:40, Mario Curcija <mario.curc...@gmail.com> wrote:
>
>
>
> I noticed you both struggling with this one, so I gave it a try. While
> debugging I ended in felix's ManifestParser class.
>
> * Assumption:
> Felix OSGi framework does not correctly prepares attributes for
> requirements.
>
> * enRoute part:
> The RestApplication class is annotated as follows:
> @RequireAngularWebResource(resource={"angular.js","angular-resource.js",
> "angular-route.js"}, priority=1000)
>
> Following enRoute method (find(String)) is responsible for finding
> resources (*.js in this case) works correctly when running equinox based
> setup. The object returned by attrs.get("resource") is (as expected) a List
> of String instances with three elements as listed in annotation above. On
> the other hand felix framework returns only plain String containing  comma
> separated list of resources as specified in annotation.  This String will
> be later converted to a List resulting with single element
> ("angular.js","angular-resource.js", "angular-route.js"). It is obvious
> that this entry does not exist bundle entries are resolved.
>
>
> osgi.enroute.web.server.provider.WebresourceServlet.find(String)
>
>
>
>
>             BundleRequirement requirement = wire.getRequirement();
>
>             Map<String,Object> attrs = requirement.getAttributes();
> ...
>
>             List<String> resources = Converter.cnv(listOfStrings,
> attrs.get("resource"));
>
> ...
>                     for (String resource : resources) {
>                         if (glob.matcher(resource).matches()) {
>                             URL url = provider.getBundle().getEntry(root
> + resource);
>                             if (url != null) {
>                                 webresources.add(new WR(url, priority,
> order++));
>                             } else {
>                                 log.log(LogService.LOG_ERROR, "A web
> resource " + resource + " from " + requirement + " in bundle "
>                                         + bsn + "-" + version);
>                                 return null;
>                             }
>                         }
>                     }
> ...
>
> * Felix - ManifestParser
>
>
> I was able to reproduce it just by adding "following" test Method in:
> http://svn.apache.org/repos/asf/felix/releases/org.apache.
> felix.framework-5.6.2/src/test/java/org/apache/felix/
> framework/util/manifestparser/ManifestParserTest.java
>
> org.apache.felix.framework.util.manifestparser.ManifestParserTest
> ..
>
>     @SuppressWarnings("unchecked")
>     public void testAttributes() throws BundleException {
>         Map<String, Object> headers = new HashMap<String, Object>();
>         headers.put(Constants.BUNDLE_MANIFESTVERSION,  "2");
>         headers.put(Constants.BUNDLE_SYMBOLICNAME,
> "com.example.test.sample");
>         headers.put(Constants.PROVIDE_CAPABILITY,
>                 " com.example;theList:List<String>=\"red,green,blue\";
> theLong:Long=111");
>         headers.put(Constants.REQUIRE_CAPABILITY,
>                 " com.example.other;theList:List<String>=\"one,two,three\"
> ;theLong:Long=999");
>
>         BundleRevision mockBundleRevision = mock(BundleRevision.class);
>         when(mockBundleRevision.getSymbolicName()).thenReturn(
> "com.example.test.sample");
>
>         ManifestParser mp = new ManifestParser(null, null,
> mockBundleRevision, headers);
>
>         BundleCapability bc = findCapability(mp.getCapabilities(),
> "com.example");
>         Long cLong = (Long) bc.getAttributes().get("theLong");
>         assertEquals(Long.valueOf(111), cLong);
>         List<String> cList = (List<String>) bc.getAttributes().get("
> theList");
>         assertEquals(3, cList.size());
>         assertTrue(cList.contains("red"));
>
>         BundleRequirement br = findRequirement(mp.getRequirements(),
> "com.example.other");
>         //
>         // fails with java.lang.ClassCastException: java.lang.String
> cannot be cast to java.lang.Long
>         Long rLong = (Long) br.getAttributes().get("theLong");
>         assertEquals(Long.valueOf(1000), rLong);
>         // this would also fail with java.lang.ClassCastException
>         List<String> rList = (List<String>) br.getAttributes().get("com.
> example.test.other");
>         assertEquals(4, rList.size());
>     }
>
> Hope this helps.
>
>
>
> 2017-03-31 11:46 GMT+02:00 Peter Kriens <peter.kri...@aqute.biz>:
>
> Ok, send me the zip file … but it would really be a lot easier to help you
> when you worked in bndtools. It is pretty likely that if you set it up in
> bndtools it will tell you what is wrong … A setup of bundles in a directory
> is very unmanaged and likely to hide many errors tools could have told you.
>
>
>
> Send the zip to me personally or send a link so I can download it.
>
>
>
> Kind regards,
>
>
>
> Peter Kriens
>
>
>
>
>
>
>
>
>
>
>
>
>
> On 30 Mar 2017, at 16:47, HENRY Cedric D <cedric.d.he...@alstom.com>
> wrote:
>
>
>
> Hello,
>
>
>
> The only bndrun file I have used is the one from the ‘
> osgi.enroute.examples.rest.application’ project from
> https://github.com/osgi/osgi.enroute.examples without changing any code,
> and then I manually extracted the bundles to put them in a clean Felix
> instance.
>
>
>
> I can send the ZIP containing the examples I used, and I can create a ZIP
> with the end result of the Felix Instance, but I do not see nor do I know
> how to make a bndrun file replicating the manual steps I did (as described
> in my previous email) in order to ease your work in helping me.
>
>
>
> Please let me know what would be useful to you so I can help you in
> helping me.
>
> Best Regards,
>
> *Cédric*
>
>
>
> *From:* osgi-dev-boun...@mail.osgi.org [mailto:osgi-dev-bounces@mail.
> osgi.org <osgi-dev-boun...@mail.osgi.org>] *On Behalf Of *Peter Kriens
> *Sent:* Thursday, March 30, 2017 11:04 AM
> *To:* OSGi Developer Mail List <osgi-dev@mail.osgi.org>
> *Subject:* Re: [osgi-dev] RHelp needed about Web Application with
> AngularJS
>
>
>
> Well, there are million of tutorials about Git(hub). It really is hard for
> me to try to retrace your steps and be sure I end up in the same place.
>
>
>
> I am more than willing to help but I will not to be able to quickly
> recreate the exact environment you’ve created.
>
>
>
> And anyway, wouldn’t it be easier to create a bndrun file with this setup?
>
>
>
> Kind regards,
>
>
>
>             Peter Kriens
>
>
>
> On 22 Mar 2017, at 12:24, HENRY Cedric D <cedric.d.he...@alstom.com>
> wrote:
>
>
>
> I am not very familiar (yet) with Github nor with bndtools workspace.
>
>
>
> Still,  related to what I mentioned in my initial email, my steps were as
> follow:
>
> 1.       Downloaded https://github.com/osgi/osgi.enroute.examples (as ZIP
> and extracted it locally)
>
> 2.       Follow prerequisites from http://enroute.osgi.org/
> qs/100-prerequisites.html
>
> a.       Java 8
>
> b.       Eclipse Mars
>
> c.       Bndtools installation (using URL http://dl.bintray.com/
> bndtools/bndtools/latest as HTTPS failing)
>
> d.       Installed Git for windows
>
> 3.       Imported the download at step 1 in Eclipse
>
> 4.       Followed steps from http://enroute.osgi.org/
> qs/300-application.html,on the osgi.enroute.examples.rest.application
> project:
>
> a.       Double-click the ‘osgi.enroute.examples.rest.bndrun’ file + Click
>  ‘Resolve’ then ‘Finish’
>
> b.       Click ‘Run OSGi’/’Debug OSGi’ and check http://localhost:8080/
> osgi.enroute.examples.rest/index.html
>
> c.       Stopped the run/debug
>
> d.       Click ‘Export’ and followed the wizard
>
> 5.       Extracted content of uber-JAR resulting from the ‘Export’ action
> (http://enroute.osgi.org/qs/300-application.html, ‘Creating an Executable’
> section)
>
> 6.       Copied following extracted JAR files into ‘bundle’ directory of
> local Felix (v 5.6.2):
>
> ·         org.apache.felix.http.servlet-api-1.1.2.jar
>
> ·         org.apache.felix.log-1.0.1.jar
>
> ·         org.apache.felix.configadmin-1.8.8.jar
>
> ·         org.apache.felix.http.jetty-3.2.0.jar
>
> ·         org.apache.felix.scr-2.0.2.jar
>
> ·         osgi.enroute.examples.rest.application.jar
>
> ·         osgi.enroute.twitter.bootstrap.webresource-3.3.5.jar
>
> ·         osgi.enroute.configurer.simple.provider-2.0.0.jar
>
> ·         osgi.enroute.dtos.bndlib.provider-2.0.0.jar
>
> ·         osgi.enroute.executor.simple.provider-2.0.0.jar
>
> ·         osgi.enroute.google.angular.webresource-1.5.7.jar
>
> ·         osgi.enroute.logger.simple.provider-2.0.0.jar
>
> ·         osgi.enroute.rest.simple.provider-2.0.0.jar
>
> ·         osgi.enroute.stackexchange.pagedown.webresource-1.1.1.jar
>
> ·         osgi.enroute.web.simple.provider-2.0.0.jar
>
> 7.       Added the following Felix sub-projects into the ‘bundle’
> directory:
>
> a.       http://ftp.tudelft.nl/apache/felix/org.apache.
> felix.bundlerepository-2.0.8.jar
>
> b.       http://ftp.tudelft.nl/apache/felix/org.apache.
> felix.coordinator-1.0.2.jar
>
> c.       org.apache.felix.dependencymanager-4.4.0.jar from
> http://ftp.tudelft.nl/apache//felix/org.apache.felix.dependencymanager-r9-
> bin.zip
> <http://ftp.tudelft.nl/apache/felix/org.apache.felix.dependencymanager-r9-bin.zip>
>
> d.       http://ftp.tudelft.nl/apache//felix/org.apache.
> felix.eventadmin-1.4.8.jar
> <http://ftp.tudelft.nl/apache/felix/org.apache.felix.eventadmin-1.4.8.jar>
>
> e.       http://ftp.tudelft.nl/apache//felix/org.apache.
> felix.metatype-1.1.2.jar
> <http://ftp.tudelft.nl/apache/felix/org.apache.felix.metatype-1.1.2.jar>
>
> f.        http://ftp.tudelft.nl/apache//felix/org.apache.
> felix.webconsole-4.3.0-all.jar
> <http://ftp.tudelft.nl/apache/felix/org.apache.felix.webconsole-4.3.0-all.jar>
>
> 8.       Added the following OSGi bundles from Maven:
>
> a.       http://central.maven.org/maven2/org/osgi/org.osgi.
> service.coordinator/1.0.2/org.osgi.service.coordinator-1.0.2.jar
>
> b.       http://central.maven.org/maven2/org/osgi/org.osgi.
> service.event/1.3.1/org.osgi.service.event-1.3.1.jar
>
> c.       http://central.maven.org/maven2/org/osgi/org.osgi.
> service.metatype/1.3.0/org.osgi.service.metatype-1.3.0.jar
>
> 9.       In command prompt under the Felix Framework root directory,
> executed: java -jar bin\felix.jar
>
> a.       Waited for Log message: INFO:oejs.ServerConnector:FelixStartLevel:
> Started ServerConnector
>
> 10.   Open http://localhost:<Felix org.osgi.service.http.port>/
> osgi.enroute.examples.rest/index.html
> <http://localhost:%3cFelix%20org.osgi.service.http.port%3e/osgi.enroute.examples.rest/index.html>
>
>
>
> Best Regards,
>
> *Cédric*
>
>
>
> *From:* osgi-dev-boun...@mail.osgi.org [mailto:osgi-dev-
> boun...@mail.osgi.org <osgi-dev-boun...@mail.osgi.org>] *On Behalf Of *Peter
> Kriens
> *Sent:* Wednesday, March 22, 2017 11:08 AM
> *To:* OSGi Developer Mail List <osgi-dev@mail.osgi.org>
> *Subject:* Re: [osgi-dev] RHelp needed about Web Application with
> AngularJS
>
>
>
> Hmm, manifest looks ok. The fact that your bundle runs means Felix must
> have resolved this.
>
>
>
> I vaguely recall that there was a bug in Felix wiring custom namespaces
> but that same vague recall says in my head it was fixed.
>
>
>
> The easiest for me is if you create a Github bndtools workspace.
>
>
>
> Kind regards,
>
>
>
>             Peter Kriens
>
>
>
>
>
>
>
> On 22 Mar 2017, at 08:18, HENRY Cedric D <cedric.d.he...@alstom.com>
> wrote:
>
>
>
> Hello,
>
>
>
> I left the code downloaded from GIT as-is and followed the steps from the
> tutorial in order to see it working in full, which it did in when ran from
> Eclipse or when running the exported JAR.
>
>
>
> As per angular the Require-Capability header, the
> osgi.enroute.examples.rest bundle has the following (see manifest attached)
> amongst others:
>
> ·         effective:=active,osgi.enroute.webresource;
> resource:List<String>="angular.js,angular-resource.js,angular-route.js"
>
> ·         priority:Long=1000;filter:="(&(osgi.enroute.
> webresource=/google/angular)(&(version>=1.5.7)(!(version>=2.
> 0.0))))",osgi.enroute.webresource
>
>
>
> If it helps with the investigation, I can archive the Felix instance
> included all the bundles and sent it over.
>
>
>
> Best Regards,
>
> *Cédric*
>
>
>
> *From:* osgi-dev-boun...@mail.osgi.org [mailto:osgi-dev-
> boun...@mail.osgi.org <osgi-dev-boun...@mail.osgi.org>] *On Behalf Of *Peter
> Kriens
> *Sent:* Tuesday, March 21, 2017 7:10 PM
> *To:* OSGi Developer Mail List <osgi-dev@mail.osgi.org>
> *Subject:* Re: [osgi-dev] RHelp needed about Web Application with
> AngularJS
>
>
>
> Your GUI bundle must require the angular code and the bootstrap code.
> Since you can see the CSS this seems to work fine for Twitter but not
> angular.
>
>
>
> * Did you remove or change the RequireAngular annotation from the
> application class?
>
> * Verify that your osgi.enroute.rest.application bundle requires angular
> in the header (Require-Capability header)
>
>
>
> Otherwise make a Github repo with the project and I can take a look. Kind
> regards,
>
>
>
>             Peter Kriens
>
>
>
>
>
> On 21 Mar 2017, at 18:01, HENRY Cedric D <cedric.d.he...@alstom.com>
> wrote:
>
>
>
> Hello,
>
>
>
> I have followed the tutorial http://enroute.osgi.org/qs/050-start.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__enroute.osgi.org_qs_050-2Dstart.html&d=DwMFaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=P6euiOIUTiHGeCo834UpUN15FXdgxZVSdSwprP_eqOo&m=7tDGLFT8Y4SL1Hbi9pYPSF30fCXvShawNw2TQArioZw&s=BVpIxOXWBdZ4T2IGnu0wJ5WS05rMgUUxH7qZd3eX17Q&e=>
>  using the examples available on GIT without any problem.
>
>
>
> Then, I have extracted the content of the JAR generated at the end of the
> page http://enroute.osgi.org/qs/300-application.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__enroute.osgi.org_qs_300-2Dapplication.html&d=DwMFaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=P6euiOIUTiHGeCo834UpUN15FXdgxZVSdSwprP_eqOo&m=7tDGLFT8Y4SL1Hbi9pYPSF30fCXvShawNw2TQArioZw&s=aMOj06IaufFeItw5hnwlF2mNvvfIzETbxZIgsikB3OQ&e=>
>  to use it content with a clean instance of Felix (v 5.6.2, configured to
> have on port 8889).
>
> The intent is to better the dependencies required in order to create a Web
> application (with AngularJS) using OSGi in order to create a similar
> application using Maven on Intellij IDEA.
>
>
>
> The Problem is as below:
>
>
>
> After some struggle, I have succeeded to have all bundles active, but the
> web application does not work as when ran from Eclipse.
>
> NOTE that none of the org.eclipse.* bundles got used.
>
>
>
> Opening http://localhost:8889/osgi.enroute.examples.rest/index.html#/
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__localhost-3A8889_osgi.enroute.examples.rest_index.html-23_&d=DwMFaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=P6euiOIUTiHGeCo834UpUN15FXdgxZVSdSwprP_eqOo&m=7tDGLFT8Y4SL1Hbi9pYPSF30fCXvShawNw2TQArioZw&s=V_W98i93Z69Cc5LnyjAXLxPZyFSeWIY_J2DCABsg-eQ&e=>
>  only the content of the index.html file is rendered as-is:
>
> <image001.jpg>
>
>
>
> Looking into the Source View, I have followed the CSS link and the JS link:
>
> ·         http://localhost:8889/osgi.enroute.webresource/
> osgi.enroute.examples.rest.application/1.0.0/*.css
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__localhost-3A8889_osgi.enroute.webresource_osgi.enroute.examples.rest.application_1.0.0_-2A.css&d=DwMFaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=P6euiOIUTiHGeCo834UpUN15FXdgxZVSdSwprP_eqOo&m=7tDGLFT8Y4SL1Hbi9pYPSF30fCXvShawNw2TQArioZw&s=kgzYhTlXSCzRmOmKO_hVP4uaKIKikISnKd3vvUZbrDI&e=>:
> returns the CSS content
>
> ·         http://localhost:8889/osgi.enroute.webresource/
> osgi.enroute.examples.rest.application/1.0.0/*.js
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__localhost-3A8889_osgi.enroute.webresource_osgi.enroute.examples.rest.application_1.0.0_-2A.js&d=DwMFaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=P6euiOIUTiHGeCo834UpUN15FXdgxZVSdSwprP_eqOo&m=7tDGLFT8Y4SL1Hbi9pYPSF30fCXvShawNw2TQArioZw&s=dyl6nBIpKmH7osnfGaV-1xDeG14sA3shf0AebcKkhIw&e=>:
> returns HTTP ERROR: 404
>
> Note that http://localhost:8889/rest/upper
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__localhost-3A8889_rest_upper&d=DwMFaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=P6euiOIUTiHGeCo834UpUN15FXdgxZVSdSwprP_eqOo&m=7tDGLFT8Y4SL1Hbi9pYPSF30fCXvShawNw2TQArioZw&s=v_IA5GqHB5Y6fbV2NC2nsLlhQ95_Hv8ANRl7M40rmN8&e=>
>  is working fine.
>
>
>
> I am puzzled about the fact that the CSS file content is returned, but not
> the JS file content event though they are under the same directory within
> the osgi.enroute.examples.rest.application bundle, and I would appreciate
> some help in solving and understand the cause of this problem.
>
>
>
> Here is a snapshot of all the bundles under ‘bundle’ directory used by
> Felix:
>
> <image002.png>
>
>
>
> Best Regards,
>
> *Cédric*
>
>
>
>
> ------------------------------
>
> CONFIDENTIALITY : This e-mail and any attachments are confidential and may
> be privileged. If you are not a named recipient, please notify the sender
> immediately and do not disclose the contents to another person, use it for
> any purpose or store or copy the information in any medium.
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.osgi.org_mailman_listinfo_osgi-2Ddev&d=DwMFaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=P6euiOIUTiHGeCo834UpUN15FXdgxZVSdSwprP_eqOo&m=7tDGLFT8Y4SL1Hbi9pYPSF30fCXvShawNw2TQArioZw&s=zeUdHtPyd_ZLBw3ul5UF1a_zMp2Fspe5GjUNjIHtI_w&e=>
>
>
>
>
> ------------------------------
>
> CONFIDENTIALITY : This e-mail and any attachments are confidential and may
> be privileged. If you are not a named recipient, please notify the sender
> immediately and do not disclose the contents to another person, use it for
> any purpose or store or copy the information in any medium.
> <MANIFEST.MF>_______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.osgi.org_mailman_listinfo_osgi-2Ddev&d=DwMFaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=P6euiOIUTiHGeCo834UpUN15FXdgxZVSdSwprP_eqOo&m=36gj0fi9Dr_QXivLv4W8lrgBkrHtEYOO3ZfaDO8AMcI&s=mRBXvr3GgeteWbG8572wxFteX8VXYxW3Mh10fmdm8nA&e=>
>
>
>
>
> ------------------------------
>
> CONFIDENTIALITY : This e-mail and any attachments are confidential and may
> be privileged. If you are not a named recipient, please notify the sender
> immediately and do not disclose the contents to another person, use it for
> any purpose or store or copy the information in any medium.
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>
>
>
> ------------------------------
>
> CONFIDENTIALITY : This e-mail and any attachments are confidential and may
> be privileged. If you are not a named recipient, please notify the sender
> immediately and do not disclose the contents to another person, use it for
> any purpose or store or copy the information in any medium.
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>
>
>
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>
>
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>
>
> ------------------------------
> CONFIDENTIALITY : This e-mail and any attachments are confidential and may
> be privileged. If you are not a named recipient, please notify the sender
> immediately and do not disclose the contents to another person, use it for
> any purpose or store or copy the information in any medium.
>
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to