KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > polepos > teams > jdo > Jdo


1 /*
2 This file is part of the PolePosition database benchmark
3 http://www.polepos.org
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public
16 License along with this program; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
18 MA 02111-1307, USA. */

19
20 package org.polepos.teams.jdo;
21
22 import java.lang.reflect.*;
23
24
25 public class Jdo {
26     
27     private final static JdoSettings sSettings = new JdoSettings();
28
29     public static JdoSettings settings() {
30         return sSettings;
31     }
32     
33     /**
34      * runs the JDO enhancer
35      * @param arguments
36      */

37     public static void main(String JavaDoc[] args) {
38         
39         
40         if(args == null || args.length == 0){
41             System.out.println("Supply the class");
42         }
43         
44         enhanceObjectDB();
45     }
46     
47     /**
48      * ObjectDB is not supplied with the distribution
49      * @throws Exception
50      */

51     private static void enhanceObjectDB(){
52         
53         String JavaDoc clazz = "com.objectdb.Enhancer";
54         String JavaDoc method = "enhance";
55         Class JavaDoc[] types = new Class JavaDoc[] {String JavaDoc.class};
56         Object JavaDoc[] params = new Object JavaDoc[] {"org.polepos.teams.jdo.data.*" };
57         
58         try{
59             callByReflection(clazz, method, types, params);
60         }catch(Exception JavaDoc e){
61             System.out.println("ObjectDB libraries are not included");
62             e.printStackTrace();
63         }
64     }
65     
66     private static void callByReflection(String JavaDoc enhancerClass, String JavaDoc enhancerMethod, Class JavaDoc[] parameterTypes, Object JavaDoc[] parameters) throws ClassNotFoundException JavaDoc, SecurityException JavaDoc, NoSuchMethodException JavaDoc, IllegalArgumentException JavaDoc, IllegalAccessException JavaDoc, InvocationTargetException{
67         Class JavaDoc clazz = Class.forName(enhancerClass);
68         Method method = clazz.getMethod(enhancerMethod, parameterTypes);
69         method.invoke(null, parameters);
70     }
71
72
73 }
74
Popular Tags