Viet, Can you please commit this to samples/trunk too?
Jarek On Tue, Apr 8, 2008 at 1:18 PM, <[EMAIL PROTECTED]> wrote: > Author: viet > Date: Tue Apr 8 10:17:58 2008 > New Revision: 646006 > > URL: http://svn.apache.org/viewvc?rev=646006&view=rev > Log: > Add remote application portion to show how to remotely access an EJB3. > > Added: > geronimo/samples/branches/2.1/samples/bank/bank-client/ > geronimo/samples/branches/2.1/samples/bank/bank-client/LICENSE.txt > (with props) > geronimo/samples/branches/2.1/samples/bank/bank-client/NOTICE.txt (with > props) > geronimo/samples/branches/2.1/samples/bank/bank-client/pom.xml (with > props) > geronimo/samples/branches/2.1/samples/bank/bank-client/src/ > geronimo/samples/branches/2.1/samples/bank/bank-client/src/main/ > geronimo/samples/branches/2.1/samples/bank/bank-client/src/main/java/ > > geronimo/samples/branches/2.1/samples/bank/bank-client/src/main/java/BankClient.java > (with props) > Modified: > > geronimo/samples/branches/2.1/samples/bank/bank-ejb/src/main/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeBean.java > > geronimo/samples/branches/2.1/samples/bank/bank-ejb/src/main/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeLocal.java > geronimo/samples/branches/2.1/samples/bank/pom.xml > > Added: geronimo/samples/branches/2.1/samples/bank/bank-client/LICENSE.txt > URL: > http://svn.apache.org/viewvc/geronimo/samples/branches/2.1/samples/bank/bank-client/LICENSE.txt?rev=646006&view=auto > > ============================================================================== > --- geronimo/samples/branches/2.1/samples/bank/bank-client/LICENSE.txt > (added) > +++ geronimo/samples/branches/2.1/samples/bank/bank-client/LICENSE.txt Tue > Apr 8 10:17:58 2008 > @@ -0,0 +1,203 @@ > + > + Apache License > + Version 2.0, January 2004 > + http://www.apache.org/licenses/ > + > + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION > + > + 1. Definitions. > + > + "License" shall mean the terms and conditions for use, reproduction, > + and distribution as defined by Sections 1 through 9 of this document. > + > + "Licensor" shall mean the copyright owner or entity authorized by > + the copyright owner that is granting the License. > + > + "Legal Entity" shall mean the union of the acting entity and all > + other entities that control, are controlled by, or are under common > + control with that entity. For the purposes of this definition, > + "control" means (i) the power, direct or indirect, to cause the > + direction or management of such entity, whether by contract or > + otherwise, or (ii) ownership of fifty percent (50%) or more of the > + outstanding shares, or (iii) beneficial ownership of such entity. > + > + "You" (or "Your") shall mean an individual or Legal Entity > + exercising permissions granted by this License. > + > + "Source" form shall mean the preferred form for making modifications, > + including but not limited to software source code, documentation > + source, and configuration files. > + > + "Object" form shall mean any form resulting from mechanical > + transformation or translation of a Source form, including but > + not limited to compiled object code, generated documentation, > + and conversions to other media types. > + > + "Work" shall mean the work of authorship, whether in Source or > + Object form, made available under the License, as indicated by a > + copyright notice that is included in or attached to the work > + (an example is provided in the Appendix below). > + > + "Derivative Works" shall mean any work, whether in Source or Object > + form, that is based on (or derived from) the Work and for which the > + editorial revisions, annotations, elaborations, or other modifications > + represent, as a whole, an original work of authorship. For the > purposes > + of this License, Derivative Works shall not include works that remain > + separable from, or merely link (or bind by name) to the interfaces of, > + the Work and Derivative Works thereof. > + > + "Contribution" shall mean any work of authorship, including > + the original version of the Work and any modifications or additions > + to that Work or Derivative Works thereof, that is intentionally > + submitted to Licensor for inclusion in the Work by the copyright owner > + or by an individual or Legal Entity authorized to submit on behalf of > + the copyright owner. For the purposes of this definition, "submitted" > + means any form of electronic, verbal, or written communication sent > + to the Licensor or its representatives, including but not limited to > + communication on electronic mailing lists, source code control > systems, > + and issue tracking systems that are managed by, or on behalf of, the > + Licensor for the purpose of discussing and improving the Work, but > + excluding communication that is conspicuously marked or otherwise > + designated in writing by the copyright owner as "Not a Contribution." > + > + "Contributor" shall mean Licensor and any individual or Legal Entity > + on behalf of whom a Contribution has been received by Licensor and > + subsequently incorporated within the Work. > + > + 2. Grant of Copyright License. Subject to the terms and conditions of > + this License, each Contributor hereby grants to You a perpetual, > + worldwide, non-exclusive, no-charge, royalty-free, irrevocable > + copyright license to reproduce, prepare Derivative Works of, > + publicly display, publicly perform, sublicense, and distribute the > + Work and such Derivative Works in Source or Object form. > + > + 3. Grant of Patent License. Subject to the terms and conditions of > + this License, each Contributor hereby grants to You a perpetual, > + worldwide, non-exclusive, no-charge, royalty-free, irrevocable > + (except as stated in this section) patent license to make, have made, > + use, offer to sell, sell, import, and otherwise transfer the Work, > + where such license applies only to those patent claims licensable > + by such Contributor that are necessarily infringed by their > + Contribution(s) alone or by combination of their Contribution(s) > + with the Work to which such Contribution(s) was submitted. If You > + institute patent litigation against any entity (including a > + cross-claim or counterclaim in a lawsuit) alleging that the Work > + or a Contribution incorporated within the Work constitutes direct > + or contributory patent infringement, then any patent licenses > + granted to You under this License for that Work shall terminate > + as of the date such litigation is filed. > + > + 4. Redistribution. You may reproduce and distribute copies of the > + Work or Derivative Works thereof in any medium, with or without > + modifications, and in Source or Object form, provided that You > + meet the following conditions: > + > + (a) You must give any other recipients of the Work or > + Derivative Works a copy of this License; and > + > + (b) You must cause any modified files to carry prominent notices > + stating that You changed the files; and > + > + (c) You must retain, in the Source form of any Derivative Works > + that You distribute, all copyright, patent, trademark, and > + attribution notices from the Source form of the Work, > + excluding those notices that do not pertain to any part of > + the Derivative Works; and > + > + (d) If the Work includes a "NOTICE" text file as part of its > + distribution, then any Derivative Works that You distribute must > + include a readable copy of the attribution notices contained > + within such NOTICE file, excluding those notices that do not > + pertain to any part of the Derivative Works, in at least one > + of the following places: within a NOTICE text file distributed > + as part of the Derivative Works; within the Source form or > + documentation, if provided along with the Derivative Works; or, > + within a display generated by the Derivative Works, if and > + wherever such third-party notices normally appear. The contents > + of the NOTICE file are for informational purposes only and > + do not modify the License. You may add Your own attribution > + notices within Derivative Works that You distribute, alongside > + or as an addendum to the NOTICE text from the Work, provided > + that such additional attribution notices cannot be construed > + as modifying the License. > + > + You may add Your own copyright statement to Your modifications and > + may provide additional or different license terms and conditions > + for use, reproduction, or distribution of Your modifications, or > + for any such Derivative Works as a whole, provided Your use, > + reproduction, and distribution of the Work otherwise complies with > + the conditions stated in this License. > + > + 5. Submission of Contributions. Unless You explicitly state otherwise, > + any Contribution intentionally submitted for inclusion in the Work > + by You to the Licensor shall be under the terms and conditions of > + this License, without any additional terms or conditions. > + Notwithstanding the above, nothing herein shall supersede or modify > + the terms of any separate license agreement you may have executed > + with Licensor regarding such Contributions. > + > + 6. Trademarks. This License does not grant permission to use the trade > + names, trademarks, service marks, or product names of the Licensor, > + except as required for reasonable and customary use in describing the > + origin of the Work and reproducing the content of the NOTICE file. > + > + 7. Disclaimer of Warranty. Unless required by applicable law or > + agreed to in writing, Licensor provides the Work (and each > + Contributor provides its Contributions) on an "AS IS" BASIS, > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > + implied, including, without limitation, any warranties or conditions > + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A > + PARTICULAR PURPOSE. You are solely responsible for determining the > + appropriateness of using or redistributing the Work and assume any > + risks associated with Your exercise of permissions under this License. > + > + 8. Limitation of Liability. In no event and under no legal theory, > + whether in tort (including negligence), contract, or otherwise, > + unless required by applicable law (such as deliberate and grossly > + negligent acts) or agreed to in writing, shall any Contributor be > + liable to You for damages, including any direct, indirect, special, > + incidental, or consequential damages of any character arising as a > + result of this License or out of the use or inability to use the > + Work (including but not limited to damages for loss of goodwill, > + work stoppage, computer failure or malfunction, or any and all > + other commercial damages or losses), even if such Contributor > + has been advised of the possibility of such damages. > + > + 9. Accepting Warranty or Additional Liability. While redistributing > + the Work or Derivative Works thereof, You may choose to offer, > + and charge a fee for, acceptance of support, warranty, indemnity, > + or other liability obligations and/or rights consistent with this > + License. However, in accepting such obligations, You may act only > + on Your own behalf and on Your sole responsibility, not on behalf > + of any other Contributor, and only if You agree to indemnify, > + defend, and hold each Contributor harmless for any liability > + incurred by, or claims asserted against, such Contributor by reason > + of your accepting any such warranty or additional liability. > + > + END OF TERMS AND CONDITIONS > + > + APPENDIX: How to apply the Apache License to your work. > + > + To apply the Apache License to your work, attach the following > + boilerplate notice, with the fields enclosed by brackets "[]" > + replaced with your own identifying information. (Don't include > + the brackets!) The text should be enclosed in the appropriate > + comment syntax for the file format. We also recommend that a > + file or class name and description of purpose be included on the > + same "printed page" as the copyright notice for easier > + identification within third-party archives. > + > + Copyright [yyyy] [name of copyright owner] > + > + Licensed under the Apache License, Version 2.0 (the "License"); > + you may not use this file except in compliance with the License. > + You may obtain a copy of the License at > + > + http://www.apache.org/licenses/LICENSE-2.0 > + > + Unless required by applicable law or agreed to in writing, software > + distributed under the License is distributed on an "AS IS" BASIS, > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > + See the License for the specific language governing permissions and > + limitations under the License. > + > > Propchange: > geronimo/samples/branches/2.1/samples/bank/bank-client/LICENSE.txt > > ------------------------------------------------------------------------------ > svn:eol-style = native > > Propchange: > geronimo/samples/branches/2.1/samples/bank/bank-client/LICENSE.txt > > ------------------------------------------------------------------------------ > svn:keywords = Date Revision > > Propchange: > geronimo/samples/branches/2.1/samples/bank/bank-client/LICENSE.txt > > ------------------------------------------------------------------------------ > svn:mime-type = text/plain > > Added: geronimo/samples/branches/2.1/samples/bank/bank-client/NOTICE.txt > URL: > http://svn.apache.org/viewvc/geronimo/samples/branches/2.1/samples/bank/bank-client/NOTICE.txt?rev=646006&view=auto > > ============================================================================== > --- geronimo/samples/branches/2.1/samples/bank/bank-client/NOTICE.txt (added) > +++ geronimo/samples/branches/2.1/samples/bank/bank-client/NOTICE.txt Tue > Apr 8 10:17:58 2008 > @@ -0,0 +1,6 @@ > +Apache Geronimo > +Copyright 2003-2007 The Apache Software Foundation > + > +This product includes software developed by > +The Apache Software Foundation (http://www.apache.org/). > + > > Propchange: geronimo/samples/branches/2.1/samples/bank/bank-client/NOTICE.txt > > ------------------------------------------------------------------------------ > svn:eol-style = native > > Propchange: geronimo/samples/branches/2.1/samples/bank/bank-client/NOTICE.txt > > ------------------------------------------------------------------------------ > svn:keywords = Date Revision > > Propchange: geronimo/samples/branches/2.1/samples/bank/bank-client/NOTICE.txt > > ------------------------------------------------------------------------------ > svn:mime-type = text/plain > > Added: geronimo/samples/branches/2.1/samples/bank/bank-client/pom.xml > URL: > http://svn.apache.org/viewvc/geronimo/samples/branches/2.1/samples/bank/bank-client/pom.xml?rev=646006&view=auto > > ============================================================================== > --- geronimo/samples/branches/2.1/samples/bank/bank-client/pom.xml (added) > +++ geronimo/samples/branches/2.1/samples/bank/bank-client/pom.xml Tue Apr > 8 10:17:58 2008 > @@ -0,0 +1,57 @@ > +<?xml version="1.0" encoding="UTF-8"?> > +<!-- > + Licensed to the Apache Software Foundation (ASF) under one > + or more contributor license agreements. See the NOTICE file > + distributed with this work for additional information > + regarding copyright ownership. The ASF licenses this file > + to you under the Apache License, Version 2.0 (the > + "License"); you may not use this file except in compliance > + with the License. You may obtain a copy of the License at > + > + http://www.apache.org/licenses/LICENSE-2.0 > + > + Unless required by applicable law or agreed to in writing, > + software distributed under the License is distributed on an > + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > + KIND, either express or implied. See the License for the > + specific language governing permissions and limitations > + under the License. > +--> > + > +<!-- $Rev$ $Date$ --> > + > +<project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > + > + <modelVersion>4.0.0</modelVersion> > + > + <parent> > + <groupId>org.apache.geronimo.samples</groupId> > + <artifactId>bank</artifactId> > + <version>2.1-SNAPSHOT</version> > + <relativePath>../pom.xml</relativePath> > + </parent> > + > + <artifactId>bank-client</artifactId> > + <name>Geronimo Samples :: bank :: CLIENT</name> > + <packaging>jar</packaging> > + > + <description>Geronimo Samples. Client Module</description> > + > + <dependencies> > + <dependency> > + <groupId>org.apache.openejb</groupId> > + <artifactId>openejb-client</artifactId> > + <version>3.0-SNAPSHOT</version> > + <type>jar</type> > + </dependency> > + > + <dependency> > + <groupId>org.apache.geronimo.samples</groupId> > + <artifactId>bank-ejb</artifactId> > + <version>${version}</version> > + <type>jar</type> > + </dependency> > + > + </dependencies> > + > +</project> > > Propchange: geronimo/samples/branches/2.1/samples/bank/bank-client/pom.xml > > ------------------------------------------------------------------------------ > svn:eol-style = native > > Propchange: geronimo/samples/branches/2.1/samples/bank/bank-client/pom.xml > > ------------------------------------------------------------------------------ > svn:keywords = Date Revision > > Propchange: geronimo/samples/branches/2.1/samples/bank/bank-client/pom.xml > > ------------------------------------------------------------------------------ > svn:mime-type = text/xml > > Added: > geronimo/samples/branches/2.1/samples/bank/bank-client/src/main/java/BankClient.java > URL: > http://svn.apache.org/viewvc/geronimo/samples/branches/2.1/samples/bank/bank-client/src/main/java/BankClient.java?rev=646006&view=auto > > ============================================================================== > --- > geronimo/samples/branches/2.1/samples/bank/bank-client/src/main/java/BankClient.java > (added) > +++ > geronimo/samples/branches/2.1/samples/bank/bank-client/src/main/java/BankClient.java > Tue Apr 8 10:17:58 2008 > @@ -0,0 +1,48 @@ > +/** > + * Licensed to the Apache Software Foundation (ASF) under one or more > + * contributor license agreements. See the NOTICE file distributed with > + * this work for additional information regarding copyright ownership. > + * The ASF licenses this file to You under the Apache License, Version 2.0 > + * (the "License"); you may not use this file except in compliance with > + * the License. You may obtain a copy of the License at > + * > + * http://www.apache.org/licenses/LICENSE-2.0 > + * > + * Unless required by applicable law or agreed to in writing, software > + * distributed under the License is distributed on an "AS IS" BASIS, > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > + * See the License for the specific language governing permissions and > + * limitations under the License. > + */ > + > +import java.util.List; > +import java.util.Properties; > + > +import javax.naming.Context; > +import javax.naming.InitialContext; > + > +import org.apache.geronimo.samples.bank.ejb.BankManagerFacadeRemote; > +import org.apache.geronimo.samples.bank.ejb.ExchangeRate; > + > +public class BankClient { > + public static void main(String[] args) { > + > + Properties p = new Properties(); > + p.setProperty(Context.INITIAL_CONTEXT_FACTORY, > "org.apache.openejb.client.RemoteInitialContextFactory"); > + p.setProperty(Context.PROVIDER_URL, "ejbd://localhost:4201"); > + try { > + Context ic = new InitialContext(p); > + BankManagerFacadeRemote bmr = > (BankManagerFacadeRemote)ic.lookup("BankManagerFacadeBeanRemote"); > + List<ExchangeRate> rates = bmr.getExchangeRates(); > + System.out.println("Exchange Rates"); > + for(int i = 0 ; i < (int)rates.size(); i++) { > + ExchangeRate rate = rates.get(i); > + System.out.println("Currency: " + rate.getCurrency()); > + System.out.println("Rate: " + rate.getRate()); > + System.out.println(); > + } > + } catch(Exception e) { > + e.printStackTrace(); > + } > + } > +} > > Propchange: > geronimo/samples/branches/2.1/samples/bank/bank-client/src/main/java/BankClient.java > > ------------------------------------------------------------------------------ > svn:eol-style = native > > Propchange: > geronimo/samples/branches/2.1/samples/bank/bank-client/src/main/java/BankClient.java > > ------------------------------------------------------------------------------ > svn:keywords = Date Revision > > Propchange: > geronimo/samples/branches/2.1/samples/bank/bank-client/src/main/java/BankClient.java > > ------------------------------------------------------------------------------ > svn:mime-type = text/plain > > Modified: > geronimo/samples/branches/2.1/samples/bank/bank-ejb/src/main/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeBean.java > URL: > http://svn.apache.org/viewvc/geronimo/samples/branches/2.1/samples/bank/bank-ejb/src/main/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeBean.java?rev=646006&r1=646005&r2=646006&view=diff > > ============================================================================== > --- > geronimo/samples/branches/2.1/samples/bank/bank-ejb/src/main/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeBean.java > (original) > +++ > geronimo/samples/branches/2.1/samples/bank/bank-ejb/src/main/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeBean.java > Tue Apr 8 10:17:58 2008 > @@ -25,6 +25,8 @@ > > import javax.persistence.PersistenceUnit; > import javax.ejb.EJBException; > +import javax.ejb.Local; > +import javax.ejb.Remote; > import javax.ejb.Stateless; > import javax.naming.Context; > import javax.naming.InitialContext; > @@ -33,7 +35,9 @@ > import javax.persistence.EntityManagerFactory; > > @Stateless > -public class BankManagerFacadeBean implements BankManagerFacadeLocal { > [EMAIL PROTECTED](BankManagerFacadeLocal.class) > [EMAIL PROTECTED](BankManagerFacadeRemote.class) > +public class BankManagerFacadeBean { > > @PersistenceUnit(unitName="BankPU") > protected EntityManagerFactory emf; > > Modified: > geronimo/samples/branches/2.1/samples/bank/bank-ejb/src/main/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeLocal.java > URL: > http://svn.apache.org/viewvc/geronimo/samples/branches/2.1/samples/bank/bank-ejb/src/main/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeLocal.java?rev=646006&r1=646005&r2=646006&view=diff > > ============================================================================== > --- > geronimo/samples/branches/2.1/samples/bank/bank-ejb/src/main/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeLocal.java > (original) > +++ > geronimo/samples/branches/2.1/samples/bank/bank-ejb/src/main/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeLocal.java > Tue Apr 8 10:17:58 2008 > @@ -17,10 +17,13 @@ > > package org.apache.geronimo.samples.bank.ejb; > > +import javax.ejb.Local; > + > import org.apache.geronimo.samples.bank.ejb.Account; > import org.apache.geronimo.samples.bank.ejb.ExchangeRate; > import org.apache.geronimo.samples.bank.ejb.Customer; > > [EMAIL PROTECTED] > public interface BankManagerFacadeLocal { > public java.util.List<Account> getAccountInformation(String > customerId); > > > Modified: geronimo/samples/branches/2.1/samples/bank/pom.xml > URL: > http://svn.apache.org/viewvc/geronimo/samples/branches/2.1/samples/bank/pom.xml?rev=646006&r1=646005&r2=646006&view=diff > > ============================================================================== > --- geronimo/samples/branches/2.1/samples/bank/pom.xml (original) > +++ geronimo/samples/branches/2.1/samples/bank/pom.xml Tue Apr 8 10:17:58 > 2008 > @@ -43,25 +43,26 @@ > <module>bank-ejb</module> > <module>bank-war</module> > <module>bank-ear</module> > + <module>bank-client</module> > </modules> > > - <dependencies> > - <dependency> > - <groupId>org.apache.geronimo.specs</groupId> > - > <artifactId>geronimo-annotation_1.0_spec</artifactId> > - <version>1.1</version> > - <type>jar</type> > - <scope>provided</scope> > - </dependency> > + <dependencies> > + <dependency> > + <groupId>org.apache.geronimo.specs</groupId> > + <artifactId>geronimo-annotation_1.0_spec</artifactId> > + <version>1.1</version> > + <type>jar</type> > + <scope>provided</scope> > + </dependency> > > - <dependency> > - <groupId>org.apache.geronimo.specs</groupId> > - <artifactId>geronimo-jpa_3.0_spec</artifactId> > - <version>1.1</version> > - <type>jar</type> > - <scope>provided</scope> > - </dependency> > - </dependencies> > + <dependency> > + <groupId>org.apache.geronimo.specs</groupId> > + <artifactId>geronimo-jpa_3.0_spec</artifactId> > + <version>1.1</version> > + <type>jar</type> > + <scope>provided</scope> > + </dependency> > + </dependencies> > > <build> > <plugins> > > >