Search in sources :

Example 21 with ICall

use of de.janrufmonitor.framework.ICall in project janrufmonitor by tbrandt77.

the class RunConsole method received.

public void received(IEvent event) {
    if (event.getType() == IEventConst.EVENT_TYPE_IDENTIFIED_CALL) {
        System.out.println("");
        System.out.println("---> new incoming call ...");
        ICall c = (ICall) event.getData();
        System.out.println("---> Called MSN: " + c.getMSN().toString());
        System.out.println("---> Calling number: " + c.getCaller().getPhoneNumber().toString());
        System.out.println("---> Caller name: " + c.getCaller().getName().toString().trim());
        System.out.println("---> Service (CIP): " + c.getCIP().getAdditional());
        System.out.println("");
        prompt();
    }
}
Also used : ICall(de.janrufmonitor.framework.ICall)

Example 22 with ICall

use of de.janrufmonitor.framework.ICall in project janrufmonitor by tbrandt77.

the class PDFFilter method doExport.

public boolean doExport() {
    Document document = new Document(PageSize.A4.rotate(), 20, 20, 20, 20);
    document.addCreationDate();
    document.addCreator("jAnrufmonitor");
    try {
        PdfWriter.getInstance(document, new FileOutputStream(this.m_filename));
        document.open();
        // get renderers
        List renderer = new ArrayList();
        String renderer_config = this.getRuntime().getConfigManagerFactory().getConfigManager().getProperty("ui.jface.application.journal.Journal", "renderer");
        if (renderer_config != null && renderer_config.length() > 0) {
            StringTokenizer s = new StringTokenizer(renderer_config, ",");
            while (s.hasMoreTokens()) {
                renderer.add(RendererRegistry.getInstance().getRenderer(s.nextToken()));
            }
        }
        // get column width
        float totalWidth = 0;
        String[] cWidth = new String[renderer.size()];
        for (int i = 0, j = renderer.size(); i < j; i++) {
            cWidth[i] = getRuntime().getConfigManagerFactory().getConfigManager().getProperty("ui.jface.application.journal.Journal", "col_size_" + ((ITableCellRenderer) renderer.get(i)).getID());
            if (cWidth[i] != null && cWidth[i].length() > 0) {
                totalWidth += Float.parseFloat(cWidth[i]);
            }
            if (cWidth[i] != null && cWidth[i].length() == 0) {
                cWidth[i] = "0";
            }
        }
        float[] widths = new float[renderer.size()];
        for (int i = 0, j = renderer.size(); i < j; i++) {
            widths[i] = Float.parseFloat(cWidth[i]) / totalWidth;
        }
        PdfPTable table = new PdfPTable(widths);
        table.setHeaderRows(1);
        table.setWidthPercentage(100f);
        ITableCellRenderer t = null;
        PdfPCell cell = null;
        for (int i = 0, j = renderer.size(); i < j; i++) {
            t = (ITableCellRenderer) renderer.get(i);
            if (t == null) {
                this.m_logger.severe("No renderer found for ID: " + (String) renderer.get(i));
                this.m_logger.severe("Export to PDF format canceled...");
                return false;
            }
            cell = new PdfPCell(new Paragraph(t.getHeader()));
            cell.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
            table.addCell(cell);
        }
        ICall c = null;
        String cellContent = null;
        for (int i = 0, j = this.m_callList.size(); i < j; i++) {
            c = this.m_callList.get(i);
            for (int k = 0, m = renderer.size(); k < m; k++) {
                t = (ITableCellRenderer) renderer.get(k);
                t.updateData(c);
                cellContent = t.renderAsText();
                if (cellContent != null && cellContent.length() > 0) {
                    table.addCell(cellContent);
                } else {
                    cellContent = t.renderAsImageID();
                    if (cellContent != null && cellContent.length() > 0) {
                        try {
                            if (cellContent.startsWith("db://")) {
                                InputStream in = ImageHandler.getInstance().getImageStream(c.getCaller());
                                if (in != null) {
                                    ByteArrayOutputStream out = new ByteArrayOutputStream();
                                    Stream.copy(in, out, true);
                                    in.close();
                                    out.close();
                                    Image pdfImage = Image.getInstance(out.toByteArray());
                                    // pdfImage.scaleAbsolute(90.0f, 45.0f);
                                    table.addCell(pdfImage);
                                } else {
                                    table.addCell(" ");
                                }
                            } else if (new File(cellContent).exists()) {
                                Image pdfImage = Image.getInstance(cellContent);
                                table.addCell(pdfImage);
                            } else {
                                Image pdfImage = Image.getInstance(SWTImageManager.getInstance(PIMRuntime.getInstance()).getImagePath(cellContent));
                                table.addCell(pdfImage);
                            }
                        } catch (IOException e) {
                            this.m_logger.severe(e.getMessage());
                            table.addCell(" ");
                        }
                    } else
                        table.addCell(" ");
                }
            }
        }
        document.add(table);
    } catch (DocumentException de) {
        this.m_logger.severe(de.getMessage());
        return false;
    } catch (IOException ioe) {
        this.m_logger.severe(ioe.getMessage());
        return false;
    } finally {
        document.close();
    }
    return true;
}
Also used : ITableCellRenderer(de.janrufmonitor.ui.jface.application.rendering.ITableCellRenderer) PdfPCell(com.lowagie.text.pdf.PdfPCell) ICall(de.janrufmonitor.framework.ICall) InputStream(java.io.InputStream) Color(java.awt.Color) ArrayList(java.util.ArrayList) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IOException(java.io.IOException) Document(com.lowagie.text.Document) Image(com.lowagie.text.Image) Paragraph(com.lowagie.text.Paragraph) StringTokenizer(java.util.StringTokenizer) PdfPTable(com.lowagie.text.pdf.PdfPTable) FileOutputStream(java.io.FileOutputStream) DocumentException(com.lowagie.text.DocumentException) ICallList(de.janrufmonitor.framework.ICallList) ArrayList(java.util.ArrayList) List(java.util.List) File(java.io.File)

Example 23 with ICall

use of de.janrufmonitor.framework.ICall in project janrufmonitor by tbrandt77.

the class MailNotification method sendTestMail.

public void sendTestMail() {
    ICaller caller = getRuntime().getCallerFactory().createCaller(getRuntime().getCallerFactory().createName("Max", "Mustermann"), getRuntime().getCallerFactory().createPhonenumber("49", "30", "1234567890"));
    IMsn msn = getRuntime().getMsnManager().createMsn("12345");
    ICip cip = getRuntime().getCipManager().createCip("999");
    ICall call = getRuntime().getCallFactory().createCall(caller, msn, cip);
    if (this.m_configuration == null) {
        PropagationFactory.getInstance().fire(new de.janrufmonitor.exception.Message(de.janrufmonitor.exception.Message.ERROR, NAMESPACE, "notstarted", new String[] {}, new Exception()), "Tray");
        return;
    }
    if (this.m_task == null) {
        this.m_task = new MailTask();
        this.m_logger.info("Created new MailTask instance");
    }
    PropagationFactory.getInstance().fire(new de.janrufmonitor.exception.Message(de.janrufmonitor.exception.Message.INFO, NAMESPACE, "testmail", new String[] {}, new Exception()), "Tray");
    this.m_task.setConfiguration(this.m_configuration);
    this.m_task.addMail(call);
    this.m_task.run();
}
Also used : ICaller(de.janrufmonitor.framework.ICaller) ICip(de.janrufmonitor.framework.ICip) ICall(de.janrufmonitor.framework.ICall) IMsn(de.janrufmonitor.framework.IMsn) MessagingException(javax.mail.MessagingException) AddressException(javax.mail.internet.AddressException)

Example 24 with ICall

use of de.janrufmonitor.framework.ICall in project janrufmonitor by tbrandt77.

the class DeleteAction method run.

public void run() {
    Viewer v = this.m_app.getApplication().getViewer();
    if (v != null) {
        IStructuredSelection selection = (IStructuredSelection) v.getSelection();
        if (!selection.isEmpty()) {
            Object o = selection.getFirstElement();
            if (o instanceof ICall) {
                o = ((ICall) o).getCaller();
            }
            if (o instanceof ICaller) {
                if (hasCallerSound((ICaller) o) && MessageDialog.openConfirm(new Shell(Display.getCurrent()), this.getI18nManager().getString(this.getNamespace(), "delete", "label", this.getLanguage()), this.getI18nManager().getString(this.getNamespace(), "delete", "description", this.getLanguage()))) {
                    IAttribute att = ((ICaller) o).getAttribute(SoundConst.ATTRIBUTE_USER_SOUNDFILE);
                    att.setValue("");
                    ((ICaller) o).setAttribute(att);
                    this.m_app.getController().updateElement(o);
                    this.m_app.updateViews(false);
                }
            }
        }
    }
}
Also used : ICaller(de.janrufmonitor.framework.ICaller) Shell(org.eclipse.swt.widgets.Shell) ICall(de.janrufmonitor.framework.ICall) IAttribute(de.janrufmonitor.framework.IAttribute) Viewer(org.eclipse.jface.viewers.Viewer) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection)

Example 25 with ICall

use of de.janrufmonitor.framework.ICall in project janrufmonitor by tbrandt77.

the class JournalController method updateElement.

public synchronized void updateElement(Object call, boolean isUpdateAll) {
    if (call instanceof ICall) {
        ICallManager cm = this._getRepository();
        if (cm != null && cm.isActive() && cm.isSupported(IReadCallRepository.class) && cm.isSupported(IWriteCallRepository.class)) {
            ICaller caller = ((ICall) call).getCaller();
            if (!caller.getPhoneNumber().isClired() && isUpdateAll) {
                ICallList cl = ((IReadCallRepository) cm).getCalls(new CallerFilter(caller));
                ICall aCall = null;
                for (int i = cl.size() - 1; i >= 0; i--) {
                    aCall = cl.get(i);
                    aCall.setCaller(caller);
                }
                ((IWriteCallRepository) cm).updateCalls(cl);
            } else {
                // update a single CLIR call or isUpdateAll == false
                if (cm.isSupported(IWriteCallRepository.class))
                    ((IWriteCallRepository) cm).updateCall((ICall) call);
            }
        }
    }
}
Also used : ICallManager(de.janrufmonitor.repository.ICallManager) ICaller(de.janrufmonitor.framework.ICaller) IReadCallRepository(de.janrufmonitor.repository.types.IReadCallRepository) ICall(de.janrufmonitor.framework.ICall) ICallList(de.janrufmonitor.framework.ICallList) CallerFilter(de.janrufmonitor.repository.filter.CallerFilter) IWriteCallRepository(de.janrufmonitor.repository.types.IWriteCallRepository)

Aggregations

ICall (de.janrufmonitor.framework.ICall)89 ICaller (de.janrufmonitor.framework.ICaller)41 List (java.util.List)23 Viewer (org.eclipse.jface.viewers.Viewer)20 IPhonenumber (de.janrufmonitor.framework.IPhonenumber)19 ArrayList (java.util.ArrayList)19 IAttribute (de.janrufmonitor.framework.IAttribute)18 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)18 ICallList (de.janrufmonitor.framework.ICallList)17 IOException (java.io.IOException)14 Properties (java.util.Properties)14 Date (java.util.Date)13 Iterator (java.util.Iterator)13 Shell (org.eclipse.swt.widgets.Shell)13 File (java.io.File)12 InvocationTargetException (java.lang.reflect.InvocationTargetException)12 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)11 IRunnableWithProgress (org.eclipse.jface.operation.IRunnableWithProgress)11 ICip (de.janrufmonitor.framework.ICip)10 ProgressMonitorDialog (org.eclipse.jface.dialogs.ProgressMonitorDialog)10