QeelwaEtech / omnifaces

Automatically exported from code.google.com/p/omnifaces
0 stars 1 forks source link

Add OSGi support #151

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Can you add the OSGi headers in META-INF/MANIFEST.MF file.

I think following may work:
Bundle-Name: OmniFaces
Bundle-SymbolicName: org.omnifaces
Bundle-ManifestVersion: 2
Bundle-Version: 1.4.0
Export-Package: (comma-separated list of org.omnifaces.* packages. See 
http://wiki.osgi.org/wiki/Export-Package)

Original issue reported on code.google.com by papink...@gmail.com on 8 Mar 2013 at 6:15

GoogleCodeExporter commented 9 years ago
As we don't have much experience with OSGI, can you explain in what OSGI 
environment you are exactly using OmniFaces?

In other words, how can we create a trivial web project in whatever OSGI 
environment to test what we would be doing?

Thanks in advance!

Original comment by arjan.tijms on 11 Mar 2013 at 2:10

GoogleCodeExporter commented 9 years ago
Found this tutorial that might be a good example of the kind of OSGI 
environment that runs a basic Servlet web application: 
http://jaceklaskowski.pl/wiki/Developing_OSGi_Applications_with_Blueprint_bundle
s_and_WebSphere_Application_Server_V8.5_Liberty_Profile

Original comment by arjan.tijms on 21 Mar 2013 at 11:15

GoogleCodeExporter commented 9 years ago
I use Eclipse Virgo which contains Eclipse Equinox OSGi container. Apache Felix 
is other big one and so on... OmniFaces should be OSGi standards compliant so 
the container doesn't matter.

You can download e.g. Virgo Nano Web 
(http://www.eclipse.org/downloads/download.php?file=/virgo/release/VP/3.6.1.RELE
ASE/virgo-nano-full-3.6.1.RELEASE.zip) which has JSF implementation included.

Then copy the org.omnifaces-1.4.0.jar to virgo's repository 
(virgo/repository/ext/).

Start virgo. And see possible errors in log.

Then create standard web application (bundle) which have nothing in the 
WEB-INF/lib.
Add Import-Package: javax.faces.*, org.omnifaces.* to its manifest file and try 
to deploy it.  And see possible errors in log...

Original comment by papink...@gmail.com on 23 Mar 2013 at 3:17

GoogleCodeExporter commented 9 years ago
Thanks papinkivi! Looking into this has been delayed somewhat, but it's 
definitely still on our roadmap. In the meantime I'll add this link for our own 
reference about JSF 2.2 and OSGI in GlassFish 4: 
http://java.net/jira/browse/GLASSFISH-20123

Original comment by arjan.tijms on 7 Apr 2013 at 5:05

GoogleCodeExporter commented 9 years ago

Original comment by balusc on 8 Apr 2013 at 10:55

GoogleCodeExporter commented 9 years ago
Any progress on this?

Original comment by balusc on 18 Sep 2013 at 11:12

GoogleCodeExporter commented 9 years ago
Is it already clear what exactly needs to be done for this? Isn't it just a 
matter of filling MANIFEST.MF with certain entries?

Original comment by balusc on 18 Oct 2013 at 3:53

GoogleCodeExporter commented 9 years ago
I guess that's indeed what it boils down to. Since we aren't really prepared to 
be modular (not even 100% sure what it exactly means in this context), I think 
we would have to simply put all classes there in a certain format.

If I'm not mistaken I think the actual idea of modularity in this context is to 
only make some classes accessible to external code and not others. It's taking 
so long because I wanted to really understand what's going on instead of just 
blindly listing the classes in the hope that it will be okay somehow.

But the issue has been open for too long; we should either do it soon (e.g. for 
1.7) or just close the issue.

Original comment by arjan.tijms on 18 Oct 2013 at 6:30

GoogleCodeExporter commented 9 years ago
Maven could perhaps aid in generating the necessary entry/entries in 
MANIFEST.MF.

Original comment by balusc on 18 Oct 2013 at 6:32

GoogleCodeExporter commented 9 years ago
There's probably a maven plugin for this indeed (probably ANT too). 

On a slightly related note, maybe we should convert the project to a maven only 
one if we'd use such a tool. At any length there seem to be tools available to 
generate the required entries, but I'd still like to understand what the tool 
exactly does and what the generated entries mean, as well as being able to 
actually test the result.

Original comment by arjan.tijms on 18 Oct 2013 at 6:54

GoogleCodeExporter commented 9 years ago
Increasing priority, as said this has been open for too long already.

Original comment by arjan.tijms on 18 Oct 2013 at 6:59

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
This is my manifest.mf build from felix plugin
It works fine.!!
-------------------------------------------------------------------------
Manifest-Version: 1.0
Bnd-LastModified: 1391090293608
Build-Jdk: 1.7.0_51
Built-By: teerasak sangsuwan
Bundle-ManifestVersion: 2
Bundle-Name: Omnifaces
Bundle-SymbolicName: omnifaces-osgi-1.4.1
Bundle-Vendor: org.omnifaces
Bundle-Version: 1.4.1
Created-By: Apache Maven Bundle Plugin
Export-Package: org.omnifaces.facesviews;uses:="javax.faces.application,
 javax.faces.context,javax.faces.view.facelets,javax.servlet,javax.servl
 et.annotation,javax.servlet.http,org.omnifaces.eventlistener,org.omnifa
 ces.filter";version="1.4.1",org.omnifaces.servlet;uses:="javax.servlet,
 javax.servlet.http";version="1.4.1",org.omnifaces.el;uses:="javax.el,ja
 vax.faces,javax.faces.context,org.omnifaces.util";version="1.4.1",org.o
 mnifaces.el.functions;version="1.4.1",org.omnifaces.event;uses:="javax.
 faces,javax.faces.component,javax.faces.event";version="1.4.1",org.omni
 faces.context;uses:="javax.faces.context";version="1.4.1",org.omnifaces
 .eventlistener;uses:="javax.faces.event,javax.servlet";version="1.4.1",
 org.omnifaces.component.input;uses:="javax.faces.component,javax.faces.
 context";version="1.4.1",org.omnifaces.component.input.componentidparam
 ;uses:="javax.faces.component,javax.faces.context,javax.faces.event";ve
 rsion="1.4.1",org.omnifaces.component.output;uses:="javax.el,javax.face
 s.component,javax.faces.component.html,javax.faces.component.visit,java
 x.faces.context,javax.faces.convert,javax.faces.event";version="1.4.1",
 org.omnifaces.component.output.cache.el;uses:="javax.el,javax.faces.com
 ponent,javax.faces.view.facelets,org.omnifaces.component.output,org.omn
 ifaces.el";version="1.4.1",org.omnifaces.component.output.cache;uses:="
 javax.faces.context,javax.servlet,javax.servlet.annotation";version="1.
 4.1",org.omnifaces.component.output.cache.concurrentlinkedhashmap;versi
 on="1.4.1",org.omnifaces.component.script;uses:="javax.faces.applicatio
 n,javax.faces.component,javax.faces.context,javax.faces.event";version=
 "1.4.1",org.omnifaces.component.tree;uses:="javax.el,javax.faces.compon
 ent,javax.faces.component.visit,javax.faces.context,javax.faces.event,o
 rg.omnifaces.model.tree";version="1.4.1",org.omnifaces.component.valida
 tor;uses:="javax.faces.component,javax.faces.context";version="1.4.1",o
 rg.omnifaces.component;uses:="javax.faces.component,javax.faces.context
 ";version="1.4.1",org.omnifaces.viewhandler;uses:="javax.faces.applicat
 ion,javax.faces.component,javax.faces.context";version="1.4.1",org.omni
 faces.config;uses:="javax.servlet";version="1.4.1",org.omnifaces.taghan
 dler;uses:="javax.faces.application,javax.faces.component,javax.faces.c
 onvert,javax.faces.event,javax.faces.validator,javax.faces.view.facelet
 s";version="1.4.1",org.omnifaces.converter;uses:="javax.faces.component
 ,javax.faces.context,javax.faces.convert";version="1.4.1",org.omnifaces
 .util;uses:="javax.el,javax.faces.application,javax.faces.component,jav
 ax.faces.component.visit,javax.faces.context,javax.faces.event,javax.fa
 ces.view.facelets,javax.servlet,javax.servlet.http,org.omnifaces.resour
 cehandler";version="1.4.1",org.omnifaces.util.selectitems;uses:="javax.
 faces.component,javax.faces.context,javax.faces.convert,javax.faces.mod
 el";version="1.4.1",org.omnifaces.filter;uses:="javax.servlet,javax.ser
 vlet.http";version="1.4.1",org.omnifaces.model;uses:="javax.faces.compo
 nent,javax.faces.model";version="1.4.1",org.omnifaces.model.tree;versio
 n="1.4.1",org.omnifaces.io;version="1.4.1",org.omnifaces.resourcehandle
 r;uses:="javax.faces.application,javax.faces.context,javax.faces.event"
 ;version="1.4.1",org.omnifaces.renderkit;uses:="javax.faces.context,jav
 ax.faces.render";version="1.4.1",org.omnifaces.validator;uses:="javax.f
 aces.component,javax.faces.context,javax.faces.validator";version="1.4.
 1",org.omnifaces.exceptionhandler;uses:="javax.faces,javax.faces.contex
 t";version="1.4.1",org.omnifaces.renderer;uses:="javax.faces.component,
 javax.faces.context,javax.faces.render";version="1.4.1"
Import-Package: javax.el,javax.faces,javax.faces.application,javax.faces
 .component,javax.faces.component.html,javax.faces.component.visit,javax
 .faces.context,javax.faces.convert,javax.faces.event,javax.faces.model,
 javax.faces.render,javax.faces.validator,javax.faces.view,javax.faces.v
 iew.facelets,javax.faces.webapp,javax.servlet,javax.servlet.annotation,
 javax.servlet.http,javax.xml.bind,javax.xml.namespace,javax.xml.parsers
 ,javax.xml.xpath,org.w3c.dom
Tool: Bnd-2.1.0.20130426-122213
-------------------------------------------------------------------------

Original comment by jeasy...@gmail.com on 30 Jan 2014 at 2:01

GoogleCodeExporter commented 9 years ago
Moved to GitHub: https://github.com/omnifaces/omnifaces/issues/13

Original comment by balusc on 17 Apr 2014 at 6:28