Search in sources :

Example 81 with ICall

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

the class AssignAction method run.

public void run() {
    Viewer v = this.m_app.getApplication().getViewer();
    if (v != null && v instanceof TableViewer) {
        IStructuredSelection selection = (IStructuredSelection) v.getSelection();
        if (!selection.isEmpty()) {
            final ICall call = (ICall) selection.getFirstElement();
            ICaller caller = call.getCaller();
            final ICaller newCaller = openCallerWizard(caller);
            if (newCaller != null) {
                int l_status = SWT.NO;
                if (!newCaller.getPhoneNumber().isClired()) {
                    int style = SWT.APPLICATION_MODAL | SWT.YES | SWT.NO;
                    MessageBox messageBox = new MessageBox(new Shell(DisplayManager.getDefaultDisplay()), style);
                    messageBox.setMessage(getI18nManager().getString(getNamespace(), "setall", "label", getLanguage()));
                    l_status = messageBox.open();
                }
                final int status = l_status;
                ProgressMonitorDialog pmd = new ProgressMonitorDialog(DisplayManager.getDefaultDisplay().getActiveShell());
                try {
                    IRunnableWithProgress r = new IRunnableWithProgress() {

                        public void run(IProgressMonitor progressMonitor) {
                            progressMonitor.beginTask(getI18nManager().getString(getNamespace(), "assignprogress", "label", getLanguage()), IProgressMonitor.UNKNOWN);
                            progressMonitor.worked(1);
                            call.setCaller(newCaller);
                            if (status == SWT.NO && m_app.getController() instanceof IExtendedApplicationController) {
                                // added 2009/12/31: only update single entry
                                progressMonitor.setTaskName(getI18nManager().getString(getNamespace(), "assignprogress", "label", getLanguage()));
                                ((IExtendedApplicationController) m_app.getController()).updateElement(call, false);
                            } else {
                                progressMonitor.setTaskName(getI18nManager().getString(getNamespace(), "assignall", "label", getLanguage()));
                                m_app.getController().updateElement(call);
                            }
                            progressMonitor.done();
                        }
                    };
                    pmd.setBlockOnOpen(false);
                    pmd.run(true, false, r);
                // ModalContext.run(r, true, pmd.getProgressMonitor(),
                // DisplayManager.getDefaultDisplay());
                } catch (InterruptedException e) {
                    m_logger.log(Level.SEVERE, e.getMessage(), e);
                } catch (InvocationTargetException e) {
                    m_logger.log(Level.SEVERE, e.getMessage(), e);
                }
                if (!newCaller.getPhoneNumber().isClired()) {
                    new SWTExecuter() {

                        protected void execute() {
                            int style = SWT.APPLICATION_MODAL | SWT.YES | SWT.NO;
                            MessageBox messageBox = new MessageBox(new Shell(DisplayManager.getDefaultDisplay()), style);
                            messageBox.setMessage(getI18nManager().getString(getNamespace(), "addressbookconfirm", "label", getLanguage()));
                            if (messageBox.open() == SWT.YES) {
                                List cpms = getRuntime().getCallerManagerFactory().getTypedCallerManagers(IWriteCallerRepository.class);
                                ICallerManager cmgr = null;
                                for (int i = 0; i < cpms.size(); i++) {
                                    cmgr = (ICallerManager) cpms.get(i);
                                    if (cmgr.isActive() && cmgr.isSupported(IWriteCallerRepository.class))
                                        ((IWriteCallerRepository) cmgr).updateCaller(newCaller);
                                }
                            }
                            m_app.updateViews(true);
                        }
                    }.start();
                } else {
                    m_app.updateViews(true);
                }
            // this.m_app.updateViews(true);
            }
        }
    }
}
Also used : ICall(de.janrufmonitor.framework.ICall) ProgressMonitorDialog(org.eclipse.jface.dialogs.ProgressMonitorDialog) TableViewer(org.eclipse.jface.viewers.TableViewer) Viewer(org.eclipse.jface.viewers.Viewer) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) InvocationTargetException(java.lang.reflect.InvocationTargetException) ICallerManager(de.janrufmonitor.repository.ICallerManager) MessageBox(org.eclipse.swt.widgets.MessageBox) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) ICaller(de.janrufmonitor.framework.ICaller) Shell(org.eclipse.swt.widgets.Shell) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) IWriteCallerRepository(de.janrufmonitor.repository.types.IWriteCallerRepository) IExtendedApplicationController(de.janrufmonitor.ui.jface.application.IExtendedApplicationController) List(java.util.List) TableViewer(org.eclipse.jface.viewers.TableViewer) SWTExecuter(de.janrufmonitor.ui.swt.SWTExecuter)

Example 82 with ICall

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

the class CallerStatsAction method getStatisticItems.

public List getStatisticItems() {
    final List items = new ArrayList();
    ProgressMonitorDialog pmd = new ProgressMonitorDialog(DisplayManager.getDefaultDisplay().getActiveShell());
    try {
        IRunnableWithProgress r = new IRunnableWithProgress() {

            public void run(IProgressMonitor progressMonitor) {
                isCalculating = true;
                progressMonitor.beginTask(getI18nManager().getString(getNamespace(), "calculating", "label", getLanguage()), IProgressMonitor.UNKNOWN);
                progressMonitor.worked(1);
                final Properties stat = new Properties();
                if (m_cl != null) {
                    ICaller caller = null;
                    Formatter formatter = Formatter.getInstance(getRuntime());
                    ICall c = null;
                    for (int i = 0; i < m_cl.size(); i++) {
                        c = m_cl.get(i);
                        if (isOutgoingCall(c)) {
                            continue;
                        }
                        caller = c.getCaller();
                        String displayName = formatter.parse("%a:ln%, %a:fn% (%a:add%)", caller);
                        if (displayName.trim().length() == 0)
                            displayName = formatter.parse("%a:city%", caller);
                        String number = formatter.parse(IJAMConst.GLOBAL_VARIABLE_CALLERNUMBER, caller);
                        String key = number;
                        // remove CRLF
                        displayName = StringUtils.replaceString(displayName, IJAMConst.CRLF, " ");
                        if (displayName.length() > 32)
                            displayName = displayName.substring(0, 29) + "...";
                        String value = stat.getProperty(key, "");
                        if (value.length() == 0) {
                            stat.setProperty(key.trim(), "1");
                            stat.setProperty(key + ".name", displayName);
                            stat.setProperty(key + ".number", number);
                            stat.setProperty(key + ".accepted", (isAcceptedCall(m_cl.get(i)) ? "1" : "0"));
                            stat.setProperty(key + ".away", (isAwayCall(m_cl.get(i)) ? "1" : "0"));
                        } else {
                            int val = new Integer(value).intValue();
                            val++;
                            stat.setProperty(key.trim(), new Integer(val).toString());
                            if (isAcceptedCall(m_cl.get(i))) {
                                val = new Integer(stat.getProperty(key + ".accepted")).intValue();
                                val++;
                                stat.setProperty(key + ".accepted", new Integer(val).toString());
                            }
                            if (isAwayCall(m_cl.get(i))) {
                                val = new Integer(stat.getProperty(key + ".away")).intValue();
                                val++;
                                stat.setProperty(key + ".away", new Integer(val).toString());
                            }
                            m_maxcount = Math.max(m_maxcount, val);
                        }
                    }
                }
                progressMonitor.worked(1);
                progressMonitor.setTaskName(getI18nManager().getString(getNamespace(), "createstatistic", "label", getLanguage()));
                Iterator iter = stat.keySet().iterator();
                String key = null;
                String count = null;
                while (iter.hasNext()) {
                    key = (String) iter.next();
                    if (!(key.endsWith(".name") || key.endsWith(".number") || key.endsWith(".accepted") || key.endsWith(".away"))) {
                        count = stat.getProperty(key, "");
                        items.add(new String[] { stat.getProperty(key + ".name"), stat.getProperty(key + ".number"), stat.getProperty(key + ".accepted"), stat.getProperty(key + ".away"), count });
                    }
                }
                stat.clear();
                Collections.sort(items, new StatisticComparator());
                progressMonitor.done();
                isCalculating = false;
            }
        };
        pmd.setBlockOnOpen(false);
        pmd.run(true, false, r);
    // ModalContext.run(r, true, pmd.getProgressMonitor(),
    // DisplayManager.getDefaultDisplay());
    } catch (InterruptedException e) {
        m_logger.log(Level.SEVERE, e.getMessage(), e);
        isCalculating = false;
    } catch (InvocationTargetException e) {
        m_logger.log(Level.SEVERE, e.getMessage(), e);
        isCalculating = false;
    }
    while (isCalculating) try {
        Thread.sleep(1250);
    } catch (InterruptedException e) {
    }
    return items;
}
Also used : ICall(de.janrufmonitor.framework.ICall) Formatter(de.janrufmonitor.util.formatter.Formatter) ProgressMonitorDialog(org.eclipse.jface.dialogs.ProgressMonitorDialog) ArrayList(java.util.ArrayList) Properties(java.util.Properties) InvocationTargetException(java.lang.reflect.InvocationTargetException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) ICaller(de.janrufmonitor.framework.ICaller) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) Iterator(java.util.Iterator) ArrayList(java.util.ArrayList) List(java.util.List)

Example 83 with ICall

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

the class MonthTimeStatsAction method getStatisticItems.

public List getStatisticItems() {
    final List items = new ArrayList();
    ProgressMonitorDialog pmd = new ProgressMonitorDialog(DisplayManager.getDefaultDisplay().getActiveShell());
    try {
        IRunnableWithProgress r = new IRunnableWithProgress() {

            public void run(IProgressMonitor progressMonitor) {
                isCalculating = true;
                progressMonitor.beginTask(getI18nManager().getString(getNamespace(), "calculating", "label", getLanguage()), IProgressMonitor.UNKNOWN);
                progressMonitor.worked(1);
                final Properties stat = new Properties();
                if (m_cl != null) {
                    ICall c = null;
                    Date d = null;
                    for (int i = 0; i < m_cl.size(); i++) {
                        c = m_cl.get(i);
                        d = c.getDate();
                        Calendar cal = Calendar.getInstance();
                        cal.setTime(d);
                        int hour = cal.get(Calendar.DAY_OF_MONTH);
                        int val = new Integer(stat.getProperty(Integer.toString(hour), "0")).intValue();
                        val++;
                        stat.setProperty(Integer.toString(hour), new Integer(val).toString());
                        m_maxcount = Math.max(m_maxcount, val);
                    }
                }
                progressMonitor.worked(1);
                progressMonitor.setTaskName(getI18nManager().getString(getNamespace(), "createstatistic", "label", getLanguage()));
                Iterator iter = stat.keySet().iterator();
                String key = null;
                String count = null;
                while (iter.hasNext()) {
                    key = (String) iter.next();
                    count = stat.getProperty(key, "");
                    items.add(new String[] { getI18nManager().getString(getNamespace(), key, "label", getLanguage()), count });
                }
                Collections.sort(items, new StatisticComparator());
                stat.clear();
                progressMonitor.done();
                isCalculating = false;
            }
        };
        pmd.setBlockOnOpen(false);
        pmd.run(true, false, r);
    // ModalContext.run(r, true, pmd.getProgressMonitor(),
    // DisplayManager.getDefaultDisplay());
    } catch (InterruptedException e) {
        m_logger.log(Level.SEVERE, e.getMessage(), e);
        isCalculating = false;
    } catch (InvocationTargetException e) {
        m_logger.log(Level.SEVERE, e.getMessage(), e);
        isCalculating = false;
    }
    while (isCalculating) try {
        Thread.sleep(550);
    } catch (InterruptedException e) {
    }
    return items;
}
Also used : ICall(de.janrufmonitor.framework.ICall) ProgressMonitorDialog(org.eclipse.jface.dialogs.ProgressMonitorDialog) Calendar(java.util.Calendar) ArrayList(java.util.ArrayList) Properties(java.util.Properties) Date(java.util.Date) InvocationTargetException(java.lang.reflect.InvocationTargetException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) Iterator(java.util.Iterator) ArrayList(java.util.ArrayList) List(java.util.List)

Example 84 with ICall

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

the class MsnColoringAction method run.

public void run() {
    Viewer v = this.m_app.getApplication().getViewer();
    if (v != null && v instanceof TableViewer) {
        this.m_colors = null;
        Table t = ((TableViewer) v).getTable();
        ICallList cl = ((JournalController) this.m_app.getController()).getCallList();
        ICall c = null;
        Color color = null;
        for (int i = 0, n = cl.size(); i < n; i++) {
            c = cl.get(i);
            color = this.getMsnColor(c.getMSN().getMSN());
            if (color != null) {
                t.getItem(i).setForeground(color);
            }
        }
    }
}
Also used : Table(org.eclipse.swt.widgets.Table) ICall(de.janrufmonitor.framework.ICall) ICallList(de.janrufmonitor.framework.ICallList) Color(org.eclipse.swt.graphics.Color) TableViewer(org.eclipse.jface.viewers.TableViewer) Viewer(org.eclipse.jface.viewers.Viewer) TableViewer(org.eclipse.jface.viewers.TableViewer) JournalController(de.janrufmonitor.ui.jface.application.journal.JournalController)

Example 85 with ICall

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

the class WebSearchAction method run.

public void run() {
    Viewer v = this.m_app.getApplication().getViewer();
    if (v != null && v instanceof TableViewer) {
        IStructuredSelection selection = (IStructuredSelection) v.getSelection();
        if (!selection.isEmpty()) {
            ICall selectedCall = (ICall) selection.getFirstElement();
            String searchString = selectedCall.getCaller().getName().getFullname() + " " + selectedCall.getCaller().getName().getAdditional();
            try {
                searchString = URLEncoder.encode(searchString.trim(), "ISO-8859-1");
            } catch (UnsupportedEncodingException e) {
                this.m_logger.warning("Encoding problem encountered: " + e.getMessage());
            }
            Program.launch(this.m_app.getApplication().getConfiguration().getProperty(CFG_WEB_QUERY, "") + searchString);
        }
    }
}
Also used : ICall(de.janrufmonitor.framework.ICall) UnsupportedEncodingException(java.io.UnsupportedEncodingException) TableViewer(org.eclipse.jface.viewers.TableViewer) Viewer(org.eclipse.jface.viewers.Viewer) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) TableViewer(org.eclipse.jface.viewers.TableViewer)

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