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