001: /*
002: * Copyright (C) 2005 - 2008 JasperSoft Corporation. All rights reserved.
003: * http://www.jaspersoft.com.
004: *
005: * Unless you have purchased a commercial license agreement from JasperSoft,
006: * the following license terms apply:
007: *
008: * This program is free software; you can redistribute it and/or modify
009: * it under the terms of the GNU General Public License version 2 as published by
010: * the Free Software Foundation.
011: *
012: * This program is distributed WITHOUT ANY WARRANTY; and without the
013: * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
014: * See the GNU General Public License for more details.
015: *
016: * You should have received a copy of the GNU General Public License
017: * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
018: * or write to:
019: *
020: * Free Software Foundation, Inc.,
021: * 59 Temple Place - Suite 330,
022: * Boston, MA USA 02111-1307
023: *
024: *
025: *
026: *
027: * JasperBabylonRunner.java
028: *
029: * Created on 22 maggio 2005, 2.00
030: *
031: */
032:
033: package it.businesslogic.ireport.plugin.locale;
034:
035: import com.jaspersoft.babylon.JasperBabylonClient;
036: import it.businesslogic.ireport.gui.MainFrame;
037:
038: /**
039: *
040: * @author Administrator
041: */
042: public class JasperBabylonRunner implements Runnable {
043:
044: public static String IREPORT_APP_ID = "1";
045: private JasperBabylonRunnerListener runnerListener;
046: private int operation = 0;
047: private JasperBabylonClient jbc = new JasperBabylonClient();
048:
049: public static final int OP_LIST_LOCALES = 1;
050: public static final int OP_GET_LOCALE = 2;
051: public static final int OP_PUT_LOCALE = 3;
052:
053: private String localeId = null;
054: private java.util.Properties props = null;
055:
056: public void listLocales() {
057: operation = OP_LIST_LOCALES;
058: jbc.setAppId(IREPORT_APP_ID);
059: jbc.setJasperBabylonUrl(MainFrame.getMainInstance()
060: .getProperties().getProperty("jasperBabylonURL",
061: "http://www.jasperforge.org/jasperbabylon"));
062: Thread t = new Thread(this );
063: t.start();
064: }
065:
066: public void getLocale(String localeId) {
067: operation = OP_GET_LOCALE;
068: jbc.setAppId(IREPORT_APP_ID);
069: jbc.setJasperBabylonUrl(MainFrame.getMainInstance()
070: .getProperties().getProperty("jasperBabylonURL",
071: "http://www.jasperforge.org/jasperbabylon"));
072: this .localeId = localeId;
073: Thread t = new Thread(this );
074: t.start();
075: }
076:
077: public void putLocale(String localeId, java.util.Properties props) {
078: operation = OP_PUT_LOCALE;
079: jbc.setAppId(IREPORT_APP_ID);
080: jbc.setJasperBabylonUrl(MainFrame.getMainInstance()
081: .getProperties().getProperty("jasperBabylonURL",
082: "http://www.jasperforge.org/jasperbabylon"));
083: jbc.setUsername(MainFrame.getMainInstance().getProperties()
084: .getProperty("jasperBabylonUsername"));
085: jbc.setPassword(MainFrame.getMainInstance().getProperties()
086: .getProperty("jasperBabylonPassword"));
087: this .props = props;
088: this .localeId = localeId;
089: Thread t = new Thread(this );
090: t.start();
091:
092: }
093:
094: public void run() {
095: try {
096: switch (operation) {
097: case OP_LIST_LOCALES:
098: java.util.List list = jbc.listLocales();
099: this .getRunnerListener().listLocalesComplete(list);
100: break;
101:
102: case OP_GET_LOCALE:
103: java.util.Properties p = jbc.getLocale(this .localeId);
104: this .getRunnerListener().getLocaleComplete(p);
105: break;
106:
107: case OP_PUT_LOCALE:
108: String s = jbc.putLocale(this .localeId, props);
109: this .getRunnerListener().putLocaleComplete(s);
110: break;
111: }
112:
113: } catch (Exception ex) {
114: this .getRunnerListener().operationError(operation,
115: ex.getMessage());
116: }
117: }
118:
119: public JasperBabylonRunnerListener getRunnerListener() {
120: return runnerListener;
121: }
122:
123: public void setRunnerListener(
124: JasperBabylonRunnerListener runnerListener) {
125: this.runnerListener = runnerListener;
126: }
127: }
|