1 /****************************************************************************
2 * Copyright (c) 2005, 2006, 2007, 2008, 2009 Imola Informatica.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the LGPL License v2.1
5 * which accompanies this distribution, and is available at
6 * http://www.gnu.org/licenses/lgpl.html
7 ****************************************************************************/
8 package it.imolinfo.jbi4corba.utils;
9
10 import java.io.File;
11
12 import it.imolinfo.jbi4corba.Logger;
13 import it.imolinfo.jbi4corba.LoggerFactory;
14
15 /**
16 * An utility for generation of java from IDL
17 *
18 *
19 * @author <a href="mailto:lacquaviva@imolinfo.it">Luca Acquaviva</a>
20 */
21 public class HelperIDLJUtil {
22
23 /**
24 * Logger.
25 */
26 private static final Logger LOG = LoggerFactory.getLogger(HelperIDLJUtil.class);
27
28
29
30 /**
31 * idlj generates Java bindings from a given IDL file.
32 *
33 * Syntax: idlj [ options ] idl-file
34 *
35 * options:
36 * -fall generate both client and server-side bindings.
37 * -td emit files to a directory other than the current directory
38 * -i include directory
39 *
40 * @param targetdir The directory where the java files will be placed.
41 * @param includedir The directory to find include files.
42 * @param idlFilename The IDL file to compile.
43 *
44 * @see http://java.sun.com/j2se/1.5.0/docs/guide/rmi-iiop/toJavaPortableUG.html
45 */
46 public static void idlj(final String targetdir,final String includedir,final String idlFilename) {
47 //Added for the creation of idl withoud Modules
48 File tdir=new File(targetdir);
49 // this is necessary for the correct generation from an idl without module
50 if(!tdir.exists()){
51
52 tdir.mkdir();
53
54 }
55 com.sun.tools.corba.se.idl.toJavaPortable.Compile.main(
56 new String[]{"-emitAll",
57 "-fall",
58 "-td",
59 targetdir, // workdirsrc
60 "-i",
61 includedir,
62 idlFilename
63 });
64
65 LOG.debug("<<<<< idlj - end");
66 }
67
68 /**
69 * idlj generates Java bindings from a given IDL file.
70 *
71 * Syntax: idlj [ options ] idl-file
72 *
73 * options:
74 * -fallTIE generate both client and server-side bindings and xxxPOATie class.
75 * -td emit files to a directory other than the current directory
76 * -i include directory
77 *
78 * @param targetdir The directory where the java files will be placed.
79 * @param includedir The directory to find include files.
80 * @param idlFilename The IDL file to compile.
81 *
82 * @see http://java.sun.com/j2se/1.5.0/docs/guide/rmi-iiop/toJavaPortableUG.html
83 */
84 public static void idljPoaTie(final String targetdir,final String includedir,final String idlFilename) {
85 LOG.debug(">>>>> idlj - begin");
86
87 com.sun.tools.corba.se.idl.toJavaPortable.Compile.main(
88 new String[]{"-emitAll",
89 "-fallTIE",
90 "-td",
91 targetdir, // workdirsrc
92 "-i",
93 includedir,
94 idlFilename
95 });
96
97 LOG.debug("<<<<< idlj - end");
98 }
99
100
101 }