Search in sources :

Example 6 with ZipArchive

use of de.janrufmonitor.repository.zip.ZipArchive in project janrufmonitor by tbrandt77.

the class OutlookContactProxy method start.

public void start() {
    if (this.m_dbh == null) {
        String db_path = PathResolver.getInstance(this.getRuntime()).resolve(PathResolver.getInstance(this.getRuntime()).getDataDirectory() + "mso_cache" + File.separator + "mso_mapping.db");
        db_path = StringUtils.replaceString(db_path, "\\", "/");
        File db = new File(db_path + ".properties");
        boolean initialize = false;
        if (!db.exists()) {
            initialize = true;
            db.getParentFile().mkdirs();
            try {
                File db_raw = new File(db_path);
                if (!db_raw.exists()) {
                    ZipArchive z = new ZipArchive(db_path);
                    z.open();
                    z.close();
                }
            } catch (ZipArchiveException e) {
                this.m_logger.log(Level.SEVERE, e.getMessage(), e);
            }
        }
        this.m_dbh = new OutlookContactProxyDatabaseHandler("org.hsqldb.jdbcDriver", "jdbc:hsqldb:file:" + db_path, "sa", "", initialize);
        try {
            this.m_dbh.connect();
        } catch (SQLException e) {
            this.m_logger.log(Level.SEVERE, e.getMessage(), e);
        } catch (ClassNotFoundException e) {
            this.m_logger.log(Level.SEVERE, e.getMessage(), e);
        }
    }
}
Also used : ZipArchiveException(de.janrufmonitor.repository.zip.ZipArchiveException) SQLException(java.sql.SQLException) ZipArchive(de.janrufmonitor.repository.zip.ZipArchive) File(java.io.File)

Example 7 with ZipArchive

use of de.janrufmonitor.repository.zip.ZipArchive in project janrufmonitor by tbrandt77.

the class GccWizard method performFinish.

public boolean performFinish() {
    Map data = ((GccPage) this.m_pages[0]).getResult();
    long id = System.currentTimeMillis();
    // descriptor data
    Properties descriptor = new Properties();
    descriptor.setProperty(InstallerConst.DESCRIPTOR_REQUIRED_MAJOR_VERSION, IJAMConst.VERSION_MAJOR);
    descriptor.setProperty(InstallerConst.DESCRIPTOR_REQUIRED_MINOR_VERSION, IJAMConst.VERSION_MINOR);
    descriptor.setProperty(InstallerConst.DESCRIPTOR_REQUIRED_PATCH_VERSION, IJAMConst.VERSION_PATCH);
    descriptor.setProperty(InstallerConst.DESCRIPTOR_TYPE, "application");
    descriptor.setProperty(InstallerConst.DESCRIPTOR_VERSION, "1.0.0");
    descriptor.setProperty(InstallerConst.DESCRIPTOR_NAME, "mod-app-" + id);
    descriptor.setProperty(InstallerConst.DESCRIPTOR_NAMESPACE, "gcc.action." + id);
    descriptor.setProperty(InstallerConst.DESCRIPTOR_RESTART, "false");
    descriptor.setProperty(InstallerConst.DESCRIPTOR_REMOVE, "false");
    // inf data
    Properties inf = new Properties();
    inf.setProperty("ui.jface.application.ActionRegistry:action_" + id + ":value", "de.janrufmonitor.ui.jface.application.action.GenericWebAction");
    inf.setProperty("ui.jface.application.ActionRegistry:action_" + id + ":access", "system");
    inf.setProperty("gcc.action." + id + ":url:value", (String) data.get("url"));
    Boolean check = (Boolean) data.get("editor");
    if (check != null && check.booleanValue())
        inf.setProperty("+ui.jface.application.editor.Editor:popup_actions:value", id + ",");
    check = (Boolean) data.get("journal");
    if (check != null && check.booleanValue())
        inf.setProperty("+ui.jface.application.journal.Journal:popup_actions:value", id + ",");
    check = (Boolean) data.get("dialog");
    if (check != null && check.booleanValue()) {
        inf.setProperty("+ui.jface.application.dialog.Dialog:pluginlist:value", id + ",");
        inf.setProperty("ui.jface.application.dialog.Dialog:" + id + ":value", "de.janrufmonitor.ui.jface.application.dialog.GenericWebDialogPlugin");
    }
    // i18n data
    Properties i18n = new Properties();
    i18n.setProperty("gcc.action." + id + ":title:label:de", (String) data.get("name"));
    i18n.setProperty("gcc.action." + id + ":label:label:de", (String) data.get("name"));
    // create jam.zip archive
    File dir = new File((String) data.get("directory"));
    if (!dir.exists()) {
        dir.mkdirs();
    }
    ZipArchive z = new ZipArchive(dir.getAbsolutePath() + File.separator + "webCommand." + id + ".jam.zip");
    try {
        z.open();
        // write descriptor
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        descriptor.store(bos, "");
        bos.flush();
        ByteArrayInputStream bin = new ByteArrayInputStream(bos.toByteArray());
        z.add("~meta-inf/descriptor.properties", bin);
        // write inf data
        bos = new ByteArrayOutputStream();
        inf.store(bos, "");
        bos.flush();
        bin = new ByteArrayInputStream(bos.toByteArray());
        z.add("install/gcc.action." + id + ".inf", bin);
        // write i18n data
        bos = new ByteArrayOutputStream();
        i18n.store(bos, "");
        bos.flush();
        bin = new ByteArrayInputStream(bos.toByteArray());
        z.add("install/gcc.action." + id + ".i18n", bin);
        z.close();
    } catch (ZipArchiveException e) {
        this.m_logger.severe(e.toString());
    } catch (IOException e) {
        this.m_logger.severe(e.toString());
    }
    return true;
}
Also used : ZipArchiveException(de.janrufmonitor.repository.zip.ZipArchiveException) GccPage(de.janrufmonitor.ui.jface.application.gcc.wizard.pages.GccPage) ByteArrayInputStream(java.io.ByteArrayInputStream) ZipArchive(de.janrufmonitor.repository.zip.ZipArchive) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IOException(java.io.IOException) Properties(java.util.Properties) Map(java.util.Map) File(java.io.File)

Example 8 with ZipArchive

use of de.janrufmonitor.repository.zip.ZipArchive in project janrufmonitor by tbrandt77.

the class GosPage method createControl.

public void createControl(Composite c) {
    Composite co = new Composite(c, SWT.NONE);
    co.setLayout(new GridLayout(2, false));
    co.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    int operations = DND.DROP_MOVE;
    Transfer[] types = new Transfer[] { FileTransfer.getInstance() };
    DropTarget target = new DropTarget(co, operations);
    target.setTransfer(types);
    target.addDropListener(new DropTargetAdapter() {

        public void drop(DropTargetEvent event) {
            // A drop has occurred, copy over the data
            if (event.data == null) {
                event.detail = DND.DROP_NONE;
                return;
            }
            File f = new File(((String[]) event.data)[0]);
            m_logger.info("Detected drag action with file: " + f.getAbsolutePath());
            if (f.exists() && f.getName().toLowerCase().endsWith(".jam.zip")) {
                ZipArchive zip = new ZipArchive(f, false);
                try {
                    zip.open();
                    List files = zip.list(new FilenameFilter() {

                        public boolean accept(File f, String name) {
                            return name.toLowerCase().startsWith("install/repository.") && name.toLowerCase().endsWith(".inf");
                        }
                    });
                    if (files.size() == 1) {
                        m_logger.info("Found a valid generic online module.");
                        Properties inf = new Properties();
                        inf.load(zip.get((String) files.get(0)));
                        String ns = ((String) files.get(0)).substring("install/repository.".length(), ((String) files.get(0)).length() - 4);
                        name.setText(ns);
                        url.setText(inf.getProperty("repository." + ns + ":url:value", ""));
                        offset.setText(inf.getProperty("repository." + ns + ":skipbytes:value", "0"));
                        lastname.setText(inf.getProperty("repository." + ns + ":regexp.lastname:value", ""));
                        firstname.setText(inf.getProperty("repository." + ns + ":regexp.firstname:value", ""));
                        street.setText(inf.getProperty("repository." + ns + ":regexp.street:value", ""));
                        streetno.setText(inf.getProperty("repository." + ns + ":regexp.streetno:value", ""));
                        postal.setText(inf.getProperty("repository." + ns + ":regexp.pcode:value", ""));
                        city.setText(inf.getProperty("repository." + ns + ":regexp.city:value", ""));
                        area.setText(inf.getProperty("repository." + ns + ":regexp.areacode:value", ""));
                        number.setText(inf.getProperty("repository." + ns + ":regexp.phone:value", ""));
                        intarea.setText(inf.getProperty("repository." + ns + ":intareacode:value", ""));
                    }
                    zip.close();
                } catch (ZipArchiveException e) {
                    m_logger.log(Level.SEVERE, e.getMessage(), e);
                } catch (IOException e) {
                    m_logger.log(Level.SEVERE, e.getMessage(), e);
                }
            }
        }
    });
    Label l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "name", "label", this.m_language));
    GridData gd = new GridData();
    gd.widthHint = 150;
    name = new Text(co, SWT.BORDER);
    name.setLayoutData(gd);
    name.setText("");
    name.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "version", "label", this.m_language));
    gd = new GridData();
    gd.widthHint = 50;
    version = new Text(co, SWT.BORDER);
    version.setLayoutData(gd);
    version.setText("1.0.0");
    version.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "url", "label", this.m_language));
    url = new Text(co, SWT.BORDER);
    gd.widthHint = 300;
    url.setLayoutData(gd);
    url.setText("");
    url.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "offset", "label", this.m_language));
    offset = new Text(co, SWT.BORDER);
    offset.setText("");
    offset.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "lastname", "label", this.m_language));
    lastname = new Text(co, SWT.BORDER);
    lastname.setLayoutData(gd);
    lastname.setText("");
    lastname.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
            lastname.setForeground(new Color(lastname.getDisplay(), 0, 0, 0));
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "firstname", "label", this.m_language));
    firstname = new Text(co, SWT.BORDER);
    firstname.setText("");
    firstname.setLayoutData(gd);
    firstname.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
            firstname.setForeground(new Color(firstname.getDisplay(), 0, 0, 0));
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "street", "label", this.m_language));
    street = new Text(co, SWT.BORDER);
    street.setLayoutData(gd);
    street.setText("");
    street.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
            street.setForeground(new Color(street.getDisplay(), 0, 0, 0));
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "streetno", "label", this.m_language));
    streetno = new Text(co, SWT.BORDER);
    streetno.setLayoutData(gd);
    streetno.setText("");
    streetno.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
            streetno.setForeground(new Color(streetno.getDisplay(), 0, 0, 0));
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "postal", "label", this.m_language));
    postal = new Text(co, SWT.BORDER);
    postal.setLayoutData(gd);
    postal.setText("");
    postal.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
            postal.setForeground(new Color(postal.getDisplay(), 0, 0, 0));
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "city", "label", this.m_language));
    city = new Text(co, SWT.BORDER);
    city.setLayoutData(gd);
    city.setText("");
    city.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
            city.setForeground(new Color(city.getDisplay(), 0, 0, 0));
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "area", "label", this.m_language));
    area = new Text(co, SWT.BORDER);
    area.setLayoutData(gd);
    area.setText("");
    area.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
            area.setForeground(new Color(area.getDisplay(), 0, 0, 0));
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "number", "label", this.m_language));
    number = new Text(co, SWT.BORDER);
    number.setLayoutData(gd);
    number.setText("");
    number.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
            number.setForeground(new Color(number.getDisplay(), 0, 0, 0));
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "intarea", "label", this.m_language));
    intarea = new Text(co, SWT.BORDER);
    intarea.setText("49");
    intarea.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "locale", "label", this.m_language));
    Locale[] locales = Locale.getAvailableLocales();
    List localeList = new ArrayList(locales.length);
    Locale lo = null;
    for (int i = 0; i < locales.length; i++) {
        lo = locales[i];
        if (lo.toString().indexOf("_") > 0)
            localeList.add(lo);
    }
    Collections.sort(localeList, new Comparator() {

        public int compare(Object l1, Object l2) {
            if (l1 instanceof Locale && l2 instanceof Locale) {
                return ((Locale) l1).getDisplayCountry().compareTo(((Locale) l2).getDisplayCountry());
            }
            return 0;
        }
    });
    String[] countryNames = new String[localeList.size()];
    for (int i = 0; i < localeList.size(); i++) {
        countryNames[i] = ((Locale) localeList.get(i)).getDisplayCountry() + " (" + ((Locale) localeList.get(i)).getDisplayLanguage() + ")";
    }
    locale = new Combo(co, SWT.READ_ONLY);
    locale.setItems(countryNames);
    for (int i = 0; i < countryNames.length; i++) {
        locale.setData(countryNames[i], localeList.get(i));
    }
    locale.select(0);
    locale.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
        }
    });
    l = new Label(co, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "encoding", "label", this.m_language));
    String[] encodings = new String[] { "ISO-8859-1", "UTF-8", "UTF-16" };
    encoding = new Combo(co, SWT.READ_ONLY);
    encoding.setItems(encodings);
    for (int i = 0; i < encodings.length; i++) {
        encoding.setData(encodings[i], encodings[i]);
    }
    encoding.select(0);
    locale.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            setPageComplete(isComplete());
        }
    });
    Composite dco2 = new Composite(co, SWT.NONE);
    dco2.setLayout(new GridLayout(1, false));
    gd = new GridData();
    gd.horizontalSpan = 2;
    dco2.setLayoutData(gd);
    ffe = new FileFieldEditor(this.m_i18n.getString(this.getNamespace(), "fname", "label", this.m_language), this.m_i18n.getString(this.getNamespace(), "flabel", "label", this.m_language), dco2);
    ffe.setFileExtensions(new String[] { "*.png" });
    l = new Label(co, SWT.LEFT);
    l = new Label(co, SWT.LEFT);
    Composite dco = new Composite(co, SWT.NONE);
    dco.setLayout(new GridLayout(1, false));
    gd = new GridData();
    gd.horizontalSpan = 2;
    dco.setLayoutData(gd);
    dfe = new DirectoryFieldEditor(this.m_i18n.getString(this.getNamespace(), "dname", "label", this.m_language), this.m_i18n.getString(this.getNamespace(), "dlabel", "label", this.m_language), this.m_i18n.getString(this.getNamespace(), "dmessage", "label", this.m_language), dco);
    dfe.setStringValue(PathResolver.getInstance().getTempDirectory());
    Group c2 = new Group(co, SWT.SHADOW_ETCHED_IN);
    c2.setLayout(new GridLayout(2, false));
    gd = new GridData();
    gd.horizontalSpan = 2;
    gd.horizontalAlignment = GridData.FILL_HORIZONTAL;
    c2.setLayoutData(gd);
    l = new Label(c2, SWT.LEFT);
    l.setText(this.m_i18n.getString(this.getNamespace(), "testnumber", "label", this.m_language));
    l = new Label(c2, SWT.LEFT);
    final Text testnum = new Text(c2, SWT.BORDER);
    testnum.setText("");
    gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 400;
    // gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;
    testnum.setLayoutData(gd);
    final Button test = new Button(c2, SWT.PUSH);
    test.setEnabled(false);
    test.setText(this.m_i18n.getString(this.getNamespace(), "test", "label", this.m_language));
    test.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            IPhonenumber pn = getRuntime().getCallerFactory().createPhonenumber(testnum.getText().startsWith("0") ? testnum.getText().substring(1) : testnum.getText());
            pn.setIntAreaCode(intarea.getText());
            Properties config = new Properties();
            config.setProperty("version", version.getText());
            config.setProperty("skipbytes", offset.getText());
            config.setProperty("url", url.getText());
            config.setProperty("regexp.lastname", lastname.getText());
            config.setProperty("regexp.firstname", firstname.getText());
            config.setProperty("regexp.street", street.getText());
            config.setProperty("regexp.streetno", streetno.getText());
            config.setProperty("regexp.pcode", postal.getText());
            config.setProperty("regexp.city", city.getText());
            config.setProperty("regexp.areacode", area.getText());
            config.setProperty("regexp.phone", number.getText());
            config.setProperty("intareacode", intarea.getText());
            config.setProperty("locale", ((Locale) locale.getData(locale.getText())).toString());
            config.setProperty("encoding", encoding.getText());
            config.setProperty("icon", ffe.getStringValue());
            TestWebCallerManager twcm = new TestWebCallerManager(config);
            try {
                ICaller c = twcm.getCaller(pn);
                IService dialog = getRuntime().getServiceFactory().getService("DefaultCallDialogService");
                if (dialog != null) {
                    ICall call = getRuntime().getCallFactory().createCall(c, getRuntime().getMsnManager().createMsn("12345"), getRuntime().getCipManager().createCip("1"));
                    if (dialog instanceof AbstractReceiverConfigurableService) {
                        ((AbstractReceiverConfigurableService) dialog).receivedValidRule(call);
                    }
                    lastname.setForeground(new Color(lastname.getDisplay(), 0, 0, 0));
                    firstname.setForeground(new Color(firstname.getDisplay(), 0, 0, 0));
                    street.setForeground(new Color(street.getDisplay(), 0, 0, 0));
                    streetno.setForeground(new Color(streetno.getDisplay(), 0, 0, 0));
                    postal.setForeground(new Color(postal.getDisplay(), 0, 0, 0));
                    city.setForeground(new Color(city.getDisplay(), 0, 0, 0));
                    area.setForeground(new Color(area.getDisplay(), 0, 0, 0));
                    number.setForeground(new Color(number.getDisplay(), 0, 0, 0));
                }
            } catch (CallerNotFoundException ex) {
                PropagationFactory.getInstance().fire(new Message(Message.INFO, getNamespace(), "notidentified", new String[] { pn.getTelephoneNumber() }, ex));
                // first CallerNotFoundException
                Throwable cause = ex.getCause();
                if (cause != null && !(cause instanceof RegExpURLRequesterException)) {
                    cause = cause.getCause();
                }
                if (cause != null && cause instanceof RegExpURLRequesterException) {
                    List failure = ((RegExpURLRequesterException) cause).getFailures();
                    String c = null;
                    for (int i = 0; i < failure.size(); i++) {
                        c = (String) failure.get(i);
                        if (c.equalsIgnoreCase("regexp.lastname")) {
                            lastname.setForeground(new Color(lastname.getDisplay(), 255, 0, 0));
                        }
                        if (c.equalsIgnoreCase("regexp.firstname")) {
                            firstname.setForeground(new Color(firstname.getDisplay(), 255, 0, 0));
                        }
                        if (c.equalsIgnoreCase("regexp.street")) {
                            street.setForeground(new Color(street.getDisplay(), 255, 0, 0));
                        }
                        if (c.equalsIgnoreCase("regexp.streetno")) {
                            streetno.setForeground(new Color(streetno.getDisplay(), 255, 0, 0));
                        }
                        if (c.equalsIgnoreCase("regexp.pcode")) {
                            postal.setForeground(new Color(postal.getDisplay(), 255, 0, 0));
                        }
                        if (c.equalsIgnoreCase("regexp.city")) {
                            city.setForeground(new Color(city.getDisplay(), 255, 0, 0));
                        }
                        if (c.equalsIgnoreCase("regexp.areacode")) {
                            area.setForeground(new Color(area.getDisplay(), 255, 0, 0));
                        }
                        if (c.equalsIgnoreCase("regexp.phone")) {
                            number.setForeground(new Color(number.getDisplay(), 255, 0, 0));
                        }
                    }
                }
            } finally {
                twcm = null;
            }
        }
    });
    testnum.addKeyListener(new KeyListener() {

        public void keyPressed(org.eclipse.swt.events.KeyEvent e) {
            if (testnum.getText().length() > 0 && url.getText().length() > 0 && number.getText().length() > 0)
                test.setEnabled(true);
            else
                test.setEnabled(false);
        }

        public void keyReleased(org.eclipse.swt.events.KeyEvent e) {
        }
    });
    this.setPageComplete(isComplete());
    this.setControl(co);
}
Also used : ZipArchiveException(de.janrufmonitor.repository.zip.ZipArchiveException) Locale(java.util.Locale) RegExpURLRequesterException(de.janrufmonitor.repository.web.RegExpURLRequesterException) Label(org.eclipse.swt.widgets.Label) ArrayList(java.util.ArrayList) ZipArchive(de.janrufmonitor.repository.zip.ZipArchive) Combo(org.eclipse.swt.widgets.Combo) Comparator(java.util.Comparator) FileFieldEditor(org.eclipse.jface.preference.FileFieldEditor) ModifyEvent(org.eclipse.swt.events.ModifyEvent) Button(org.eclipse.swt.widgets.Button) SelectionEvent(org.eclipse.swt.events.SelectionEvent) List(java.util.List) ArrayList(java.util.ArrayList) IService(de.janrufmonitor.service.IService) AbstractReceiverConfigurableService(de.janrufmonitor.service.AbstractReceiverConfigurableService) Color(org.eclipse.swt.graphics.Color) DropTargetEvent(org.eclipse.swt.dnd.DropTargetEvent) DropTargetAdapter(org.eclipse.swt.dnd.DropTargetAdapter) ICaller(de.janrufmonitor.framework.ICaller) Transfer(org.eclipse.swt.dnd.Transfer) FileTransfer(org.eclipse.swt.dnd.FileTransfer) DropTarget(org.eclipse.swt.dnd.DropTarget) File(java.io.File) IPhonenumber(de.janrufmonitor.framework.IPhonenumber) Group(org.eclipse.swt.widgets.Group) ModifyListener(org.eclipse.swt.events.ModifyListener) Message(de.janrufmonitor.exception.Message) DirectoryFieldEditor(de.janrufmonitor.ui.jface.configuration.controls.DirectoryFieldEditor) Properties(java.util.Properties) FilenameFilter(java.io.FilenameFilter) GridLayout(org.eclipse.swt.layout.GridLayout) CallerNotFoundException(de.janrufmonitor.repository.CallerNotFoundException) ICall(de.janrufmonitor.framework.ICall) Composite(org.eclipse.swt.widgets.Composite) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Text(org.eclipse.swt.widgets.Text) IOException(java.io.IOException) GridData(org.eclipse.swt.layout.GridData) KeyListener(org.eclipse.swt.events.KeyListener)

Example 9 with ZipArchive

use of de.janrufmonitor.repository.zip.ZipArchive in project janrufmonitor by tbrandt77.

the class LdapContactsProxy method start.

public void start() {
    if (this.m_dbh == null) {
        String db_path = PathResolver.getInstance(this.getRuntime()).resolve(PathResolver.getInstance(this.getRuntime()).getDataDirectory() + "ldap_cache" + File.separator + "ldap_mapping.db");
        db_path = StringUtils.replaceString(db_path, "\\", "/");
        File db = new File(db_path + ".properties");
        boolean initialize = false;
        if (!db.exists()) {
            initialize = true;
            db.getParentFile().mkdirs();
            try {
                File db_raw = new File(db_path);
                if (!db_raw.exists()) {
                    ZipArchive z = new ZipArchive(db_path);
                    z.open();
                    z.close();
                }
            } catch (ZipArchiveException e) {
                this.m_logger.log(Level.SEVERE, e.getMessage(), e);
            }
        }
        this.m_dbh = new LdapContactsProxyDatabaseHandler("org.hsqldb.jdbcDriver", "jdbc:hsqldb:file:" + db_path, "sa", "", initialize);
        try {
            this.m_dbh.connect();
        } catch (SQLException e) {
            this.m_logger.log(Level.SEVERE, e.getMessage(), e);
        } catch (ClassNotFoundException e) {
            this.m_logger.log(Level.SEVERE, e.getMessage(), e);
        }
    }
}
Also used : ZipArchiveException(de.janrufmonitor.repository.zip.ZipArchiveException) SQLException(java.sql.SQLException) ZipArchive(de.janrufmonitor.repository.zip.ZipArchive) File(java.io.File)

Example 10 with ZipArchive

use of de.janrufmonitor.repository.zip.ZipArchive in project janrufmonitor by tbrandt77.

the class ArchiveJournal method shutdown.

public void shutdown() {
    if (m_archivingThread != null) {
        int count = 0;
        do {
            count++;
            if (m_archivingThread != null && !m_archivingThread.isAlive()) {
                m_archivingThread = null;
            } else {
                m_logger.warning("Archiving in progress, could not shutdown archiving service...");
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException e) {
                }
            }
        } while (count < 4 && (m_archivingThread != null && m_archivingThread.isAlive()));
    }
    try {
        if (this.getDatabaseHandler().isConnected())
            this.getDatabaseHandler().disconnect();
        String root = PathResolver.getInstance(this.getRuntime()).resolve(this.m_configuration.getProperty(CFG_DB, PathResolver.getInstance(this.getRuntime()).getDataDirectory() + "/journal.archive"));
        File db_raw = new File(root);
        ZipArchive z = new ZipArchive(root);
        z.open();
        String[] entries = new String[2];
        InputStream[] ins = new InputStream[2];
        if (new File(db_raw.getAbsolutePath() + ".properties").exists()) {
            entries[0] = db_raw.getName() + ".properties";
            ins[0] = new FileInputStream(db_raw.getAbsolutePath() + ".properties");
        }
        if (new File(db_raw.getAbsolutePath() + ".script").exists()) {
            entries[1] = db_raw.getName() + ".script";
            ins[1] = new FileInputStream(db_raw.getAbsolutePath() + ".script");
        }
        z.add(entries, ins);
        z.close();
    } catch (ZipArchiveException e) {
        this.m_logger.log(Level.SEVERE, e.getMessage(), e);
    } catch (FileNotFoundException e) {
        this.m_logger.log(Level.SEVERE, e.getMessage(), e);
    } catch (SQLException e) {
        this.m_logger.log(Level.SEVERE, e.getMessage(), e);
    }
    super.shutdown();
}
Also used : ZipArchiveException(de.janrufmonitor.repository.zip.ZipArchiveException) SQLException(java.sql.SQLException) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) FileNotFoundException(java.io.FileNotFoundException) ZipArchive(de.janrufmonitor.repository.zip.ZipArchive) File(java.io.File) FileInputStream(java.io.FileInputStream)

Aggregations

ZipArchive (de.janrufmonitor.repository.zip.ZipArchive)13 ZipArchiveException (de.janrufmonitor.repository.zip.ZipArchiveException)13 File (java.io.File)13 SQLException (java.sql.SQLException)7 Properties (java.util.Properties)5 ByteArrayInputStream (java.io.ByteArrayInputStream)4 FileInputStream (java.io.FileInputStream)4 IOException (java.io.IOException)4 ByteArrayOutputStream (java.io.ByteArrayOutputStream)3 FileNotFoundException (java.io.FileNotFoundException)3 List (java.util.List)3 Map (java.util.Map)3 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)3 SelectionEvent (org.eclipse.swt.events.SelectionEvent)3 GridData (org.eclipse.swt.layout.GridData)3 Button (org.eclipse.swt.widgets.Button)3 Composite (org.eclipse.swt.widgets.Composite)3 Label (org.eclipse.swt.widgets.Label)3 FilenameFilter (java.io.FilenameFilter)2 InputStream (java.io.InputStream)2