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);
}
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());
}
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;
}
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;
}
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();
}
Aggregations