Search in sources :

Example 36 with IMsn

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

the class ExternalApplicationLauncher method removeExtappDataObject.

private void removeExtappDataObject(String msn, String file) {
    IMsn oldMsn = this.getRuntime().getMsnManager().createMsn(msn);
    ExtAppDataObject sdo = new ExtAppDataObject(oldMsn, file);
    this.dataList.remove(sdo);
    this.removableData.add(sdo);
    tv.setInput(this.dataList);
}
Also used : IMsn(de.janrufmonitor.framework.IMsn)

Example 37 with IMsn

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

the class InitMsnPage method removeMsn.

private void removeMsn(String msn, String additional) {
    if (MessageDialog.openConfirm(Display.getCurrent().getActiveShell(), this.m_i18n.getString(this.getNamespace(), "ctitle", "label", this.m_language), this.m_i18n.getString(this.getNamespace(), "confirm", "label", this.m_language))) {
        IMsn oldMsn = this.getRuntime().getCallFactory().createMsn(msn, additional);
        this.msns.remove(oldMsn);
        this.removeMsns.add(oldMsn);
    }
    tv.setInput(this.msns);
    this.resizeTable(tv.getTable());
}
Also used : IMsn(de.janrufmonitor.framework.IMsn)

Example 38 with IMsn

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

the class InitMsnPage method performFinish.

public boolean performFinish() {
    for (int i = 0; i < this.removeMsns.size(); i++) {
        IMsn m = (IMsn) this.removeMsns.get(i);
        this.getRuntime().getConfigManagerFactory().getConfigManager().removeProperty(this.CONFIG_NAMESPACE, m.getMSN() + "_label");
        this.getRuntime().getConfigManagerFactory().getConfigManager().removeProperty(this.CONFIG_NAMESPACE, m.getMSN() + "_msn");
    }
    this.removeMsns.clear();
    StringBuffer list = new StringBuffer();
    for (int i = 0; i < this.msns.size(); i++) {
        IMsn m = (IMsn) this.msns.get(i);
        this.getRuntime().getConfigManagerFactory().getConfigManager().setProperty(this.CONFIG_NAMESPACE, m.getMSN() + "_msn", m.getMSN());
        this.getRuntime().getConfigManagerFactory().getConfigManager().setProperty(this.CONFIG_NAMESPACE, m.getMSN() + "_label", m.getAdditional());
        list.append(m.getMSN());
        list.append(",");
    }
    if (list.length() > 0)
        this.getRuntime().getConfigManagerFactory().getConfigManager().setProperty(this.CONFIG_NAMESPACE, "list", list.toString());
    this.getRuntime().getConfigManagerFactory().getConfigManager().setProperty(IJAMConst.GLOBAL_NAMESPACE, "detectallmsn", "true");
    this.getRuntime().getConfigManagerFactory().getConfigManager().saveConfiguration();
    this.getRuntime().getConfigurableNotifier().notifyByNamespace(this.CONFIG_NAMESPACE);
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        m_logger.log(Level.SEVERE, e.getMessage(), e);
    }
    return true;
}
Also used : IMsn(de.janrufmonitor.framework.IMsn)

Example 39 with IMsn

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

the class AbstractFilterCallManager method filterCalls.

protected ICallList filterCalls(IFilter filter, ICallList cl) {
    if (cl == null) {
        cl = this.getInitialCallList(filter);
    }
    long start = System.currentTimeMillis();
    this.m_logger.info("Start filtering with filter: " + filter);
    this.m_logger.info("CallList size before filtering: " + cl.size());
    ICall c = null;
    if (filter != null) {
        if (filter.getType().equals(FilterType.DATE) || filter.getType().equals(FilterType.YEAR) || filter.getType().equals(FilterType.MONTH_YEAR)) {
            long from = 0;
            long to = 0;
            if (filter instanceof DateFilter) {
                DateFilter df = (DateFilter) filter;
                to = (df.getDateFrom() == null ? 0 : df.getDateFrom().getTime());
                from = df.getDateTo().getTime();
            }
            if (filter instanceof YearFilter) {
                YearFilter df = (YearFilter) filter;
                from = (df.getDateFrom() == null ? 0 : df.getDateFrom().getTime());
                to = df.getDateTo().getTime();
            }
            if (filter instanceof MonthYearFilter) {
                MonthYearFilter df = (MonthYearFilter) filter;
                from = (df.getDateFrom() == null ? 0 : df.getDateFrom().getTime());
                to = df.getDateTo().getTime();
            }
            long cdate = 0;
            for (int i = cl.size() - 1; i >= 0; i--) {
                c = cl.get(i);
                cdate = c.getDate().getTime();
                if (to > 0) {
                    if (cdate < from || cdate > to)
                        cl.remove(c);
                } else {
                    if (cdate < from)
                        cl.remove(c);
                }
            }
        }
        if (filter.getType().equals(FilterType.CALLER)) {
            ICaller cfilter = (ICaller) filter.getFilterObject();
            IPhonenumber pn = cfilter.getPhoneNumber();
            for (int i = cl.size() - 1; i >= 0; i--) {
                c = cl.get(i);
                if (!c.getCaller().getPhoneNumber().equals(pn))
                    cl.remove(c);
            }
        }
        if (filter.getType().equals(FilterType.PHONENUMBER)) {
            IPhonenumber pn = (IPhonenumber) filter.getFilterObject();
            for (int i = cl.size() - 1; i >= 0; i--) {
                c = cl.get(i);
                if (!c.getCaller().getPhoneNumber().equals(pn))
                    cl.remove(c);
            }
        }
        if (filter.getType().equals(FilterType.CIP)) {
            ICip cip = (ICip) filter.getFilterObject();
            for (int i = cl.size() - 1; i >= 0; i--) {
                c = cl.get(i);
                if (!c.getCIP().equals(cip))
                    cl.remove(c);
            }
        }
        if (filter.getType().equals(FilterType.MSN)) {
            IMsn msn = (IMsn) filter.getFilterObject();
            for (int i = cl.size() - 1; i >= 0; i--) {
                c = cl.get(i);
                if (!c.getMSN().equals(msn))
                    cl.remove(c);
            }
        }
        if (filter.getType().equals(FilterType.UUID)) {
            String[] uuids = (String[]) filter.getFilterObject();
            for (int i = cl.size() - 1; i >= 0; i--) {
                c = cl.get(i);
                boolean hasUUID = false;
                for (int j = 0; j < uuids.length; j++) {
                    if (c.getUUID().equalsIgnoreCase(uuids[j]))
                        hasUUID = true;
                }
                if (!hasUUID)
                    cl.remove(c);
            }
        }
        if (filter.getType().equals(FilterType.ATTRIBUTE)) {
            IAttributeMap m = ((AttributeFilter) filter).getAttributeMap();
            if (m != null && m.size() > 0) {
                Iterator iter = m.iterator();
                IAttribute a = null;
                while (iter.hasNext()) {
                    a = (IAttribute) iter.next();
                    IAttribute ua = null;
                    for (int i = cl.size() - 1; i >= 0; i--) {
                        c = cl.get(i);
                        ua = c.getAttribute(a.getName());
                        if (ua == null || !ua.getValue().equalsIgnoreCase(a.getValue())) {
                            cl.remove(c);
                        }
                    }
                }
            }
        }
        if (filter.getType().equals(FilterType.ITEMCOUNT)) {
            int itemcount = ((ItemCountFilter) filter).getLimit();
            if (itemcount > 0) {
                ICallList tmpCl = this.getRuntime().getCallFactory().createCallList(itemcount);
                // added: 2006/04/20: just a work-a-round
                cl.sort(0, false);
                for (int i = 0, j = Math.min(cl.size(), itemcount); i < j; i++) {
                    tmpCl.add(cl.get(i));
                }
                cl.clear();
                cl.add(tmpCl);
            }
        }
    }
    this.m_logger.info("CallList size after filtering: " + cl.size());
    this.m_logger.info("Finished filtering with filter <" + filter + "> in " + Long.toString(System.currentTimeMillis() - start) + " msec.");
    return cl;
}
Also used : ICall(de.janrufmonitor.framework.ICall) ICip(de.janrufmonitor.framework.ICip) ICaller(de.janrufmonitor.framework.ICaller) ItemCountFilter(de.janrufmonitor.repository.filter.ItemCountFilter) ICallList(de.janrufmonitor.framework.ICallList) AttributeFilter(de.janrufmonitor.repository.filter.AttributeFilter) Iterator(java.util.Iterator) IAttribute(de.janrufmonitor.framework.IAttribute) IAttributeMap(de.janrufmonitor.framework.IAttributeMap) MonthYearFilter(de.janrufmonitor.repository.filter.MonthYearFilter) YearFilter(de.janrufmonitor.repository.filter.YearFilter) DateFilter(de.janrufmonitor.repository.filter.DateFilter) IMsn(de.janrufmonitor.framework.IMsn) MonthYearFilter(de.janrufmonitor.repository.filter.MonthYearFilter) IPhonenumber(de.janrufmonitor.framework.IPhonenumber)

Example 40 with IMsn

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

the class AbstractFilterSerializer method getFilterToString.

/**
 * Transforms a IFilter object into a string representation
 * @param f a valid IFilter object, should not be null
 * @return a string representation of the filter.
 */
public String getFilterToString(IFilter f) {
    StringBuffer sb = new StringBuffer();
    if (f != null) {
        FilterType ft = f.getType();
        if (ft.equals(FilterType.DATE)) {
            sb.append(ft.toString());
            sb.append(",");
            if (((DateFilter) f).getTimeframe() == -1) {
                Date d = ((DateFilter) f).getDateFrom();
                if (d == null)
                    sb.append(-1);
                else
                    sb.append(d.getTime());
                sb.append(",");
                sb.append(((DateFilter) f).getDateTo().getTime());
            } else {
                sb.append("0");
                sb.append(",");
                sb.append("0");
                sb.append(",");
                sb.append(((DateFilter) f).getTimeframe());
            }
        }
        if (ft.equals(FilterType.YEAR)) {
            sb.append(ft.toString());
            sb.append(",");
            sb.append(((YearFilter) f).getYear());
        }
        if (ft.equals(FilterType.MONTH_YEAR)) {
            sb.append(ft.toString());
            sb.append(",");
            sb.append(((MonthYearFilter) f).getYear());
            sb.append(",");
            sb.append(((MonthYearFilter) f).getMonth());
        }
        if (ft.equals(FilterType.CIP)) {
            sb.append(ft.toString());
            sb.append(",");
            sb.append(((CipFilter) f).getCip().getCIP());
        }
        if (ft.equals(FilterType.MSN)) {
            sb.append(ft.toString());
            sb.append(",");
            IMsn[] msns = ((MsnFilter) f).getMsn();
            if (msns.length == 1)
                sb.append(((MsnFilter) f).getMsn()[0].getMSN());
            else {
                for (int i = 0, j = msns.length; i < j; i++) {
                    sb.append(((MsnFilter) f).getMsn()[i].getMSN());
                    if (i < j - 1)
                        sb.append(",");
                }
            }
        }
        if (ft.equals(FilterType.CALLER)) {
            sb.append(ft.toString());
            sb.append(",");
            IPhonenumber pn = ((CallerFilter) f).getCaller().getPhoneNumber();
            if (pn.isClired()) {
                sb.append("clired");
            } else {
                sb.append(pn.getIntAreaCode());
                sb.append(",");
                sb.append(pn.getAreaCode());
                sb.append(",");
                sb.append(pn.getCallNumber());
            }
        }
        if (ft.equals(FilterType.PHONENUMBER)) {
            sb.append(ft.toString());
            sb.append(",");
            IPhonenumber pn = ((PhonenumberFilter) f).getPhonenumber();
            sb.append(pn.getIntAreaCode());
            sb.append(",");
            sb.append((pn.getAreaCode().trim().length() > 0 ? pn.getAreaCode() : "+"));
            sb.append(",");
            sb.append((pn.getCallNumber().trim().length() > 0 ? pn.getCallNumber() : "+"));
        }
        if (ft.equals(FilterType.ITEMCOUNT)) {
            sb.append(ft.toString());
            sb.append(",");
            sb.append(((ItemCountFilter) f).getLimit());
        }
        if (ft.equals(FilterType.ATTRIBUTE)) {
            sb.append(ft.toString());
            sb.append(",");
            IAttributeMap m = ((AttributeFilter) f).getAttributeMap();
            if (m != null && m.size() > 0) {
                Iterator i = m.iterator();
                IAttribute a = null;
                while (i.hasNext()) {
                    a = (IAttribute) i.next();
                    sb.append(a.getName());
                    sb.append("=");
                    sb.append(a.getValue());
                    if (i.hasNext())
                        sb.append(",");
                }
            }
        }
        if (ft.equals(FilterType.CHARACTER)) {
            sb.append(ft.toString());
            sb.append(",");
            sb.append(((CharacterFilter) f).getAttributeName());
            sb.append("=");
            sb.append(((CharacterFilter) f).getCharacter());
        }
        if (ft.equals(FilterType.UUID)) {
            sb.append(ft.toString());
            sb.append(",");
            String[] uuids = ((UUIDFilter) f).getUUID();
            for (int i = uuids.length, j = 0; j < i; j++) {
                sb.append(uuids[j]);
                if (j < (i - 1))
                    sb.append(";");
            }
        }
    // TODO: more filters to be added here
    }
    return sb.toString();
}
Also used : Date(java.util.Date) Iterator(java.util.Iterator) IAttribute(de.janrufmonitor.framework.IAttribute) IAttributeMap(de.janrufmonitor.framework.IAttributeMap) IMsn(de.janrufmonitor.framework.IMsn) IPhonenumber(de.janrufmonitor.framework.IPhonenumber)

Aggregations

IMsn (de.janrufmonitor.framework.IMsn)43 ICip (de.janrufmonitor.framework.ICip)17 IPhonenumber (de.janrufmonitor.framework.IPhonenumber)17 ICaller (de.janrufmonitor.framework.ICaller)16 Date (java.util.Date)16 IAttributeMap (de.janrufmonitor.framework.IAttributeMap)11 ICall (de.janrufmonitor.framework.ICall)9 IAttribute (de.janrufmonitor.framework.IAttribute)8 IName (de.janrufmonitor.framework.IName)6 StringTokenizer (java.util.StringTokenizer)6 SimpleDateFormat (java.text.SimpleDateFormat)5 AttributeFilter (de.janrufmonitor.repository.filter.AttributeFilter)4 IFilter (de.janrufmonitor.repository.filter.IFilter)4 ItemCountFilter (de.janrufmonitor.repository.filter.ItemCountFilter)4 MsnFilter (de.janrufmonitor.repository.filter.MsnFilter)4 IRuntime (de.janrufmonitor.runtime.IRuntime)4 HandlerException (de.janrufmonitor.service.commons.http.handler.HandlerException)4 ParseException (java.text.ParseException)4 ArrayList (java.util.ArrayList)4 Iterator (java.util.Iterator)4