KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > genimen > djeneric > tools > export > Exporter


1 /*
2  * Copyright (c) 2001-2005 by Genimen BV (www.genimen.com) All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, is permitted provided that the following conditions are met: -
6  * Redistributions of source code must retain the above copyright notice, this
7  * list of conditions and the following disclaimer. - Redistributions in binary
8  * form must reproduce the above copyright notice, this list of conditions and
9  * the following disclaimer in the documentation and/or other materials
10  * provided with the distribution. - All advertising materials mentioning
11  * features or use of this software must display the following acknowledgment:
12  * "This product includes Djeneric." - Products derived from this software may
13  * not be called "Djeneric" nor may "Djeneric" appear in their names without
14  * prior written permission of Genimen BV. - Redistributions of any form
15  * whatsoever must retain the following acknowledgment: "This product includes
16  * Djeneric."
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL GENIMEN BV, DJENERIC.ORG, OR CONTRIBUTORS
22  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  */

30
31 package com.genimen.djeneric.tools.export;
32
33 import java.io.File JavaDoc;
34
35 import com.genimen.djeneric.language.Messages;
36 import com.genimen.djeneric.repository.DjPersistenceManager;
37 import com.genimen.djeneric.repository.DjPersistenceManagerFactory;
38 import com.genimen.djeneric.repository.exceptions.DjenericException;
39 import com.genimen.djeneric.repository.rdbms.RdbmsPersistenceManager;
40 import com.genimen.djeneric.util.DjDefaultProgressDisplayer;
41 import com.genimen.djeneric.util.DjEnvironment;
42 import com.genimen.djeneric.util.DjLogPrintStream;
43 import com.genimen.djeneric.util.DjLogger;
44 import com.genimen.djeneric.util.DjProgressDisplayer;
45 import com.genimen.djeneric.util.DjVersion;
46
47 public class Exporter extends Dumper
48 {
49   private final static String JavaDoc LOG_FILE_NAME = DjEnvironment.getAbsoluteFileName("exporter.log");
50
51   public Exporter(DjProgressDisplayer monitor, RdbmsPersistenceManager manager, String JavaDoc context)
52       throws DjenericException
53   {
54     super(monitor, manager);
55     setContext(context);
56   }
57
58   public static void main(String JavaDoc[] args)
59   {
60     try
61     {
62       if (args.length < 4)
63       {
64         System.out.println(Messages.getString("Exporter.Usage", Exporter.class.getName()));
65         return;
66       }
67
68       String JavaDoc banner = Messages.getString("global.Version", Exporter.class.getName(), DjVersion.getVersion());
69       DjLogPrintStream.logAll(banner, LOG_FILE_NAME);
70
71       System.out.println(Messages.getString("global.Reading", args[0]));
72
73       String JavaDoc user = null;
74       String JavaDoc password = null;
75
76       if (args.length >= 5)
77       {
78         user = args[4];
79       }
80
81       if (args.length >= 6)
82       {
83         password = args[5];
84       }
85
86       DjPersistenceManagerFactory fact = new DjPersistenceManagerFactory(args[0]);
87       DjPersistenceManager mgr = fact.createInstance(args[1], user, password);
88
89       if (!(mgr instanceof RdbmsPersistenceManager)) throw new DjenericException(Messages
90           .getString("global.UnsupportedRdbms", mgr.getClass().getName()));
91
92       Exporter exporter = new Exporter(new DjDefaultProgressDisplayer(), (RdbmsPersistenceManager) mgr, args[2]);
93
94       File JavaDoc outFile = new File JavaDoc(args[3]);
95
96       exporter.exportDump(outFile);
97     }
98     catch (DjenericException e)
99     {
100       System.err.println(e.getMessage());
101
102     }
103     catch (Exception JavaDoc e)
104     {
105       DjLogger.log(e);
106     }
107
108     // Kill a possible AWT event loop
109
System.exit(0);
110   }
111 }
Popular Tags