use of de.janrufmonitor.framework.ICaller in project janrufmonitor by tbrandt77.
the class ImagePreview method renderAsImageID.
public String renderAsImageID() {
if (this.m_o != null) {
if (this.m_o instanceof ICall) {
this.m_o = ((ICall) this.m_o).getCaller();
}
if (this.m_o instanceof ICaller) {
if (ImageHandler.getInstance().hasImage((ICaller) this.m_o)) {
String path = ImageHandler.getInstance().getImagePath((ICaller) this.m_o);
if (new File(path).exists())
return path;
String newPath = PathResolver.getInstance().getTempDirectory() + File.separator + ((ICaller) this.m_o).getUUID() + ".jpg";
try {
FileOutputStream fos = new FileOutputStream(newPath);
InputStream imgin = ImageHandler.getInstance().getImageStream((ICaller) this.m_o);
Stream.copy(imgin, fos, true);
return newPath;
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
}
}
}
return "";
}
use of de.janrufmonitor.framework.ICaller in project janrufmonitor by tbrandt77.
the class HistoryAction 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) {
History h = new History(((ICaller) o));
h.open();
}
}
}
}
use of de.janrufmonitor.framework.ICaller in project janrufmonitor by tbrandt77.
the class MacAddressBookProxy method getContactsByAreaCode.
@SuppressWarnings("unchecked")
public synchronized ICallerList getContactsByAreaCode(String countrycode, String areacode) throws MacAddressBookProxyException {
this.m_total = 0;
this.m_current = 0;
final ICallerList callers = getRuntime().getCallerFactory().createCallerList();
if (this.m_dbh != null) {
try {
List uuids = this.m_dbh.select(countrycode, areacode);
if (uuids.size() > 0) {
List contacts = getRecordsByUIDs(uuids);
if (contacts.size() > 0) {
this.m_total = contacts.size();
ICaller businessCaller, privateCaller = null;
for (Object contact : contacts) {
if (contact instanceof Map<?, ?>) {
this.m_current++;
privateCaller = MacAddressBookMappingManager.getInstance().mapToJamCaller((Map<?, ?>) contact, new PrivateMacAddressBookMapping());
businessCaller = MacAddressBookMappingManager.getInstance().mapToJamCaller((Map<?, ?>) contact, new BusinessMacAddressBookMapping());
if (privateCaller == null && businessCaller != null && this.containsCountryAndAreaCode(businessCaller, countrycode, areacode)) {
callers.add(businessCaller);
}
if (privateCaller != null && businessCaller == null && this.containsCountryAndAreaCode(privateCaller, countrycode, areacode)) {
callers.add(privateCaller);
}
if (privateCaller != null && businessCaller != null) {
if (((IMultiPhoneCaller) businessCaller).getPhonenumbers().size() == 1) {
// only one entry available
IPhonenumber pn = (IPhonenumber) ((IMultiPhoneCaller) businessCaller).getPhonenumbers().get(0);
IAttribute numbertype = businessCaller.getAttribute(IMacAddressBookNumberMapping.MAPPING_ATTTRIBUTE_ID + pn.getTelephoneNumber());
if (numbertype != null && numbertype.getValue().equalsIgnoreCase(IMacAddressBookConst.MOBILE)) {
this.m_logger.info("Bussiness caller will be dropped. Only mobile number available, but still in private contact: " + businessCaller);
businessCaller = null;
}
}
if (((IMultiPhoneCaller) privateCaller).getPhonenumbers().size() == 1 && businessCaller != null) {
// only one entry available
IPhonenumber pn = (IPhonenumber) ((IMultiPhoneCaller) privateCaller).getPhonenumbers().get(0);
IAttribute numbertype = privateCaller.getAttribute(IMacAddressBookNumberMapping.MAPPING_ATTTRIBUTE_ID + pn.getTelephoneNumber());
if (numbertype != null && numbertype.getValue().equalsIgnoreCase(IMacAddressBookConst.MOBILE)) {
this.m_logger.info("Private caller will be dropped. Only mobile number available, but still in business contact: " + privateCaller);
privateCaller = null;
}
}
if (privateCaller != null && this.containsCountryAndAreaCode(privateCaller, countrycode, areacode)) {
callers.add(privateCaller);
}
if (businessCaller != null && this.containsCountryAndAreaCode(businessCaller, countrycode, areacode)) {
callers.add(businessCaller);
}
}
}
}
}
}
} catch (SQLException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
}
}
if (callers.size() > 0) {
Thread updateDbhThread = new Thread() {
public void run() {
updateProxyDatabase(callers);
}
};
updateDbhThread.setName("JAM-MacAddressBookSync-Thread-(deamon)");
updateDbhThread.start();
}
return callers;
}
use of de.janrufmonitor.framework.ICaller in project janrufmonitor by tbrandt77.
the class MacAddressBookProxy method preload.
public void preload() throws MacAddressBookProxyException {
final ICallerList callers = getRuntime().getCallerFactory().createCallerList();
List<Object> ac = this.getRawMacContacts();
if (ac == null)
return;
ICaller businessCaller, privateCaller = null;
for (Object contact : ac) {
if (contact instanceof Map<?, ?>) {
privateCaller = MacAddressBookMappingManager.getInstance().mapToJamCaller((Map<?, ?>) contact, new PrivateMacAddressBookMapping());
businessCaller = MacAddressBookMappingManager.getInstance().mapToJamCaller((Map<?, ?>) contact, new BusinessMacAddressBookMapping());
if (businessCaller != null) {
callers.add(businessCaller);
}
if (privateCaller != null) {
callers.add(privateCaller);
}
}
}
if (callers.size() > 0) {
Thread updateDbhThread = new Thread() {
public void run() {
updateProxyDatabase(callers);
}
};
updateDbhThread.setName("JAM-MacAddressBookSync-Thread-(deamon)");
updateDbhThread.start();
}
}
use of de.janrufmonitor.framework.ICaller in project janrufmonitor by tbrandt77.
the class MacAddressBookProxy method getContactsByCharAttribute.
@SuppressWarnings("unchecked")
public synchronized ICallerList getContactsByCharAttribute(IAttribute charAttribute) throws MacAddressBookProxyException {
this.m_total = 0;
this.m_current = 0;
final ICallerList callers = getRuntime().getCallerFactory().createCallerList();
if (this.m_dbh != null) {
try {
List uuids = this.m_dbh.select(charAttribute);
if (uuids.size() > 0) {
List contacts = getRecordsByUIDs(uuids);
if (contacts.size() > 0) {
this.m_total = contacts.size();
ICaller businessCaller, privateCaller = null;
for (Object contact : contacts) {
if (contact instanceof Map<?, ?>) {
this.m_current++;
privateCaller = MacAddressBookMappingManager.getInstance().mapToJamCaller((Map<?, ?>) contact, new PrivateMacAddressBookMapping());
businessCaller = MacAddressBookMappingManager.getInstance().mapToJamCaller((Map<?, ?>) contact, new BusinessMacAddressBookMapping());
if (privateCaller != null && businessCaller != null) {
// check if firstname, lastname or additional is filled or not
if (privateCaller.getAttribute(IJAMConst.ATTRIBUTE_NAME_FIRSTNAME) == null && privateCaller.getAttribute(IJAMConst.ATTRIBUTE_NAME_LASTNAME) == null && privateCaller.getAttribute(IJAMConst.ATTRIBUTE_NAME_ADDITIONAL) == null) {
((IMultiPhoneCaller) businessCaller).getPhonenumbers().addAll(((IMultiPhoneCaller) privateCaller).getPhonenumbers());
privateCaller = null;
}
if (businessCaller.getAttribute(IJAMConst.ATTRIBUTE_NAME_FIRSTNAME) == null && businessCaller.getAttribute(IJAMConst.ATTRIBUTE_NAME_LASTNAME) == null && businessCaller.getAttribute(IJAMConst.ATTRIBUTE_NAME_ADDITIONAL) == null) {
((IMultiPhoneCaller) privateCaller).getPhonenumbers().addAll(((IMultiPhoneCaller) businessCaller).getPhonenumbers());
businessCaller = null;
}
}
if (businessCaller != null) {
callers.add(businessCaller);
}
if (privateCaller != null) {
callers.add(privateCaller);
}
}
}
}
}
} catch (SQLException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
}
}
if (callers.size() > 0) {
Thread updateDbhThread = new Thread() {
public void run() {
updateProxyDatabase(callers);
}
};
updateDbhThread.setName("JAM-MacAddressBookSync-Thread-(deamon)");
updateDbhThread.start();
}
return callers;
}
Aggregations