Author: gmazza
Date: Tue Mar 20 21:08:46 2012
New Revision: 1303153

URL: http://svn.apache.org/viewvc?rev=1303153&view=rev
Log:
Renamed READMEs to make consists across all samples.

Added:
    
cxf/trunk/distribution/src/main/release/samples/jax_rs/minimal_osgi/README.txt
    cxf/trunk/distribution/src/main/release/samples/oauth/README.txt
Removed:
    cxf/trunk/distribution/src/main/release/samples/jax_rs/minimal_osgi/README
    cxf/trunk/distribution/src/main/release/samples/oauth/README.TXT

Added: 
cxf/trunk/distribution/src/main/release/samples/jax_rs/minimal_osgi/README.txt
URL: 
http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/jax_rs/minimal_osgi/README.txt?rev=1303153&view=auto
==============================================================================
--- 
cxf/trunk/distribution/src/main/release/samples/jax_rs/minimal_osgi/README.txt 
(added)
+++ 
cxf/trunk/distribution/src/main/release/samples/jax_rs/minimal_osgi/README.txt 
Tue Mar 20 21:08:46 2012
@@ -0,0 +1,118 @@
+Minimal OSGI Sample Documentation
+=================================
+
+Introduction
+-------------
+
+You may not know it but CXF actually has an OSGI bundle for JAX-RS. 
Unfortunately, documentation on how to use it is very hard to come by.
+This sample demonstrates the minimal amount of bundles necessary and code 
tweaks required to get a sample that uses CXF's JAX-RS
+implementation to work correctly in an OSGI environment.
+
+This is not necessarily the best way to achieve the above. In particular, use 
of CXF-specific syntax (as much as possible). However, I believe it's a
+good balance between code readability and simplicity.
+
+Introduction
+Pre-requisites
+Sample walkthrough
+ Code walkthrough
+ Deployment notes
+Running the sample
+Bundles
+
+Pre-requisites
+--------------
+
+To take advantage of this sample, you should have a working knowledge of the 
following:
+
+JSR-311 JAX-RS
+* Maven
+* OSGI
+* Servlet
+
+Sample walkthrough
+------------------
+
+Code walkthrough
+
+Let's start off with a basic JSR-311 JAX-RS application that you would like to 
deploy in an OSGI environment:
+* SampleResource
+* SampleApplication
+
+With this sample application, if you go to a URL that looks like the 
following, you should get a "My Sample Text" in the browser:
+       http://<host>:<port>/
+
+To get this application running in an OSGi environment, when the HTTP OSGI 
service starts up, CXFNonSpringJaxrsServlet needs to be
+registered. This is accomplished in the code found inside the Activator. We 
use ServiceTracker to take care of the hard work of monitoring
+when the HTTP OSGI service comes up and registering ourselves to it.
+
+The big gotcha here though is our application is in one bundle but CXF is 
contained within another bundle. Because OSGI creates one
+classloader for each bundle and CXF uses reflection to discover applications, 
this discovery won't work in an OSGI environment. To get around
+this limitation, we subclass CXFNonSpringJaxrsServlet with our own 
SampleServlet that refers directly to our SampleApplication
+class. With the necessary imports inside the MANIFEST.MF, OSGI will set up the 
correct bundle linkage at runtime and we won't get the dreaded
+ClassNotFound exception.
+
+Deployment notes
+
+By default, CXF's default OSGI bundle includes a whack of dependencies that 
aren't necessary to get the core JAX-RS running. This sample
+strips away all the fluff and only includes the necessary JARs. You can check 
the pom.xml accompanying this example to see many of the
+dependencies that have been excluded.
+
+To ease deployment in different OSGI environments, we take advantage of Apache 
Felix's File Install bundle to use a directory-based deployment
+structure.
+
+With a few tweaks here and there, you can configure this sample to run in 
different OSGI environments. By default, it works in Eclipse Equinox but
+it runs sufficiently well in Apache Felix as well.
+
+Running the sample
+------------------
+
+You can run it directly from maven using the following command
+       
+       mvn exec:exec
+
+Note that when you run the sample this way, your input to the OSGI console 
will not echo. No worries, it'll still be processed!
+
+If you want to run it manually, do the following
+
+  1) mvn package
+  2) cd 
target/deliver/jax_rs_minimal_osgi-<version>-equinox/jax_rs_minimal_osgi-<version>/
+  3) java -jar org.eclipse.osgi-3.6.2.R36x_v20110210.jar
+
+If all goes well, the Eclipse Equinox environment will start up and File 
Install will install all the necessary bundles.
+
+If you visit the following URL in your favorite browser on the machine, you 
should find it returns some text from SampleApplication:
+
+       http://localhost:8080/
+
+Bundles
+-------
+
+If you're using Java 6, here is a listing of the bundles that are running 
inside Eclipse Equinox to make this example run successfully:
+
+id      State       Bundle
+0       ACTIVE      org.eclipse.osgi_3.6.2.R36x_v20110210                  ; 
OSGI system runtime
+1       ACTIVE      org.apache.felix.fileinstall_3.1.10                    ; 
Bundle deployment system - may be removed if you have some other way to deploy
+2       ACTIVE      org.codehaus.jettison.jettison_1.3.0                   ; 
CXF JAX-RS dependency for JSON
+3       ACTIVE      org.mortbay.jetty.util_6.1.24                          ; 
HTTP OSGI service dependency
+4       ACTIVE      org.apache.cxf.bundle-jaxrs_2.5.0.SNAPSHOT             ; 
CXF JAX-RS bundle
+5       ACTIVE      org.apache.neethi_3.0.1                                ; 
CXF JAX-RS dependency
+6       ACTIVE      org.eclipse.osgi.services_3.2.100.v20100503            ; 
CXF JAX-RS dependency / HTTP OSGI service dependency
+7       ACTIVE      org.apache.felix.http.whiteboard_2.2.0                 ; 
HTTP OSGI service dependency
+8       ACTIVE      org.mortbay.jetty.security_6.1.24                      ; 
HTTP OSGI service dependency
+9       ACTIVE      org.mortbay.jetty.server_6.1.24                        ; 
HTTP OSGI service dependency
+10      ACTIVE      org.apache.felix.http.bundle_2.2.0                     ; 
HTTP OSGI service dependency
+11      ACTIVE      org.apache.felix.http.base_2.2.0                       ; 
HTTP OSGI service dependency
+12      ACTIVE      org.apache.servicemix.specs.jsr311-api-1.1_1.8.0       ; 
CXF JAX-RS dependency
+13      ACTIVE      org.apache.felix.http.bridge_2.2.0                     ; 
HTTP OSGI service dependency
+14      ACTIVE      minimalosgi_0.0.0                                      ; 
Sample application
+15      ACTIVE      org.apache.felix.http.api_2.2.0                        ; 
HTTP OSGI service dependency
+16      ACTIVE      org.apache.felix.http.jetty_2.2.0                      ; 
HTTP OSGI service dependency
+
+If you're using Java 5, there's a few more bundles that are added to make 
things run successfully
+
+id      State       Bundle
+17      ACTIVE      
org.apache.geronimo.specs.geronimo-activation_1.1_spec_1.1.0    ; CXF JAX-RS 
dependency
+18      ACTIVE      org.apache.servicemix.specs.stax-api-1.0_1.9.0             
     ; CXF JAX-RS dependency
+19      ACTIVE      org.apache.servicemix.specs.activation-api-1.1_1.9.0       
     ; CXF JAX-RS dependency
+20      ACTIVE      org.apache.servicemix.specs.jaxb-api-2.2_1.9.0             
     ; CXF JAX-RS dependency
+21      ACTIVE      
org.apache.geronimo.specs.geronimo-annotation_1.0_spec_1.1.1    ; CXF JAX-RS 
dependency

Added: cxf/trunk/distribution/src/main/release/samples/oauth/README.txt
URL: 
http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/oauth/README.txt?rev=1303153&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/oauth/README.txt (added)
+++ cxf/trunk/distribution/src/main/release/samples/oauth/README.txt Tue Mar 20 
21:08:46 2012
@@ -0,0 +1,63 @@
+OAuth 1.0a demo (client and server)
+========================================
+The OAuth 1.0a demo that shows protocol's flow between OAuth parties. Demo 
contains two parts:
+
+    client:
+            A web application capable of making OAuth-authenticated requests. 
It is a usual OAuth client,
+            not dependent on Apache CXF framework, built to test this demo 
server part and for OAuth
+            educational purposes. Implementation works with any OAuth 1.0a 
providers, not only inluded
+            in this demo.
+
+
+    server:
+            A web application capable of accepting OAuth-authenticated 
requests. It is based on Apache
+            CXF OAuth module. It exposes OAuth endpoints and protected 
resources in the form of JAX-RS
+            services. Server demo shows and explains how CXF OAuth module can 
be configured to secure
+            JAX-RS services and integrated with existing web applications.
+
+Building and running the demo using maven
+---------------------------------------
+       
+    client:
+            Main directory of client demo application is located in folder: 
"client", in base folder
+            of this sample.
+            To start demo app use maven command:
+
+            mvn jetty:run
+
+            It will cause in starting Jetty web server and deploying client 
application at host on port: 8080.
+            Port number is defined in pom.xml.
+
+    server:
+            Main directory of server demo application is located in folder: 
"server", in base folder
+            of this sample.
+            To start demo app use maven command:
+
+            mvn jetty:run
+
+            It will cause in starting Jetty web server and deploying client 
application at host on port: 8081.
+            Port number is defined in pom.xml.
+
+                       
+       Both client and server modules sepends on Spring 3, so you need to use 
CXF spring3 profile.
+       You can build both client and server modules using command: 
+                       
+                       mvn clean install
+                       
+       and deploy war from 'target' folder in selected web container.
+
+Performing steps in the OAuth flow 
+-----------------------------
+When you have successfully deployed client and server you can start with OAuth 
steps:
+1. Go to OAuth server (http://localhost:8081) and login with given username 
and password
+2. Provide details and register new application at the OAuth server.
+3. You have registered client application at the OAuth server, with associated 
and displayed
+  client identifier, client shared-secret and callback url. You will need 
those on the client side.
+4. Go to OAuth client demo (http://localhost:8080) and provide information 
about the registered application.
+5. Perform usuall OAuth 1.0 flow steps
+
+
+
+Running OAuth 1.0a demo at Google App Engine
+-----------------------------
+//todo add challenges in deploying demo to GAE


Reply via email to