use of de.janrufmonitor.fritzbox.firmware.exception.FritzBoxLoginException in project janrufmonitor by tbrandt77.
the class FritzBoxDialogPlugin method run.
public void run() {
new SWTExecuter(this.getLabel()) {
protected void execute() {
ICaller o = m_dialog.getCall().getCaller();
String dial = ((ICaller) o).getPhoneNumber().getTelephoneNumber();
if (!((ICaller) o).getPhoneNumber().getIntAreaCode().equalsIgnoreCase(getRuntime().getConfigManagerFactory().getConfigManager().getProperty(IJAMConst.GLOBAL_NAMESPACE, IJAMConst.GLOBAL_INTAREA))) {
dial = "00" + ((ICaller) o).getPhoneNumber().getIntAreaCode() + dial;
}
if (!dial.startsWith("0"))
dial = "0" + dial;
String text = getI18nManager().getString(getNamespaceDial(), "dial", "description", getLanguage());
text = StringUtils.replaceString(text, "{%1}", dial);
if (MessageDialog.openConfirm(new Shell(DisplayManager.getDefaultDisplay()), getI18nManager().getString(getNamespaceDial(), "success", "label", getLanguage()), text)) {
Properties config = getRuntime().getConfigManagerFactory().getConfigManager().getProperties(FritzBoxMonitor.NAMESPACE);
FirmwareManager fwm = FirmwareManager.getInstance();
try {
if (!fwm.isLoggedIn())
fwm.login();
fwm.doCall(dial, config.getProperty(CFG_CLICKDIAL, "50"));
text = getI18nManager().getString(getNamespaceDial(), "success", "description", getLanguage());
text = StringUtils.replaceString(text, "{%1}", dial);
MessageDialog.openInformation(new Shell(DisplayManager.getDefaultDisplay()), getI18nManager().getString(getNamespaceDial(), "success", "label", getLanguage()), text);
} catch (IOException e) {
m_logger.warning(e.toString());
PropagationFactory.getInstance().fire(new Message(Message.ERROR, getNamespaceDial(), "faileddial", e));
} catch (FritzBoxLoginException e) {
m_logger.warning(e.toString());
PropagationFactory.getInstance().fire(new Message(Message.ERROR, getNamespaceDial(), "faileddial", e));
} catch (DoCallException e) {
m_logger.warning(e.toString());
PropagationFactory.getInstance().fire(new Message(Message.ERROR, getNamespaceDial(), "faileddial", e));
}
}
}
}.start();
}
use of de.janrufmonitor.fritzbox.firmware.exception.FritzBoxLoginException in project janrufmonitor by tbrandt77.
the class InitFritzBoxVariantPage method performFinish.
public boolean performFinish() {
if (m_boxip == null || m_boxip.trim().length() == 0) {
try {
Thread.sleep(550);
} catch (InterruptedException e) {
m_logger.log(Level.SEVERE, e.getMessage(), e);
}
return true;
}
getRuntime().getConfigManagerFactory().getConfigManager().setProperty(FritzBoxMonitor.NAMESPACE, "boxip", m_boxip);
getRuntime().getConfigManagerFactory().getConfigManager().setProperty(FritzBoxMonitor.NAMESPACE, "boxpassword", m_boxpassword);
getRuntime().getConfigManagerFactory().getConfigManager().setProperty(FritzBoxMonitor.NAMESPACE, "boxuser", m_boxuser);
getRuntime().getConfigManagerFactory().getConfigManager().setProperty(FritzBoxMonitor.NAMESPACE, "activemonitor", (m_active ? "true" : "false"));
getRuntime().getConfigManagerFactory().getConfigManager().saveConfiguration();
try {
Thread.sleep(500);
} catch (InterruptedException e) {
m_logger.log(Level.SEVERE, e.getMessage(), e);
return false;
}
getRuntime().getConfigurableNotifier().notifyByNamespace(FritzBoxMonitor.NAMESPACE);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
m_logger.log(Level.SEVERE, e.getMessage(), e);
return false;
}
if (m_active && !getRuntime().getMonitorListener().isRunning()) {
getRuntime().getMonitorListener().start();
try {
Thread.sleep(500);
} catch (InterruptedException e) {
m_logger.log(Level.SEVERE, e.getMessage(), e);
return false;
}
ICommand c = PIMRuntime.getInstance().getCommandFactory().getCommand("Activator");
if (c != null) {
try {
Map m = new HashMap();
IMonitor mon = getRuntime().getMonitorListener().getDefaultMonitor();
m.put("status", (mon.isStarted() ? "revert" : "invert"));
// this method executes the command as well !!
c.setParameters(m);
} catch (Exception e) {
m_logger.log(Level.SEVERE, e.toString(), e);
}
}
}
try {
Thread.sleep(500);
} catch (InterruptedException e) {
m_logger.log(Level.SEVERE, e.getMessage(), e);
return false;
}
// save MSN settings
if (m_usemsns) {
FirmwareManager fwm = FirmwareManager.getInstance();
fwm.startup();
try {
if (!fwm.isLoggedIn())
fwm.login();
Map msns = fwm.getMSNMap();
if (msns != null && msns.size() > 0) {
StringBuffer list = new StringBuffer();
Iterator i = msns.keySet().iterator();
String msn = null;
while (i.hasNext()) {
msn = (String) i.next();
list.append(msn);
list.append(",");
getRuntime().getConfigManagerFactory().getConfigManager().setProperty("manager.MsnManager", msn + "_msn", msn);
getRuntime().getConfigManagerFactory().getConfigManager().setProperty("manager.MsnManager", msn + "_label", (String) msns.get(msn));
}
getRuntime().getConfigManagerFactory().getConfigManager().setProperty("manager.MsnManager", "list", list.toString());
getRuntime().getConfigManagerFactory().getConfigManager().saveConfiguration();
}
} catch (IOException e) {
m_logger.log(Level.SEVERE, e.toString(), e);
} catch (FritzBoxLoginException e) {
m_logger.log(Level.SEVERE, e.toString(), e);
}
}
return true;
}
use of de.janrufmonitor.fritzbox.firmware.exception.FritzBoxLoginException in project janrufmonitor by tbrandt77.
the class TamMessagePlay 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) {
if (((ICall) o).getAttributes().contains("fritzbox.tamurl")) {
File message_file = null;
String url = ((ICall) o).getAttributes().get("fritzbox.tamurl").getValue();
File tamMessageDir = new File(PathResolver.getInstance(PIMRuntime.getInstance()).getDataDirectory() + File.separator + "fritzbox-messages");
tamMessageDir.mkdirs();
if (tamMessageDir.exists() && tamMessageDir.isDirectory()) {
message_file = new File(tamMessageDir, ((ICall) o).getUUID() + ".wav");
if (!message_file.exists()) {
FirmwareManager fwm = FirmwareManager.getInstance();
try {
if (!fwm.isLoggedIn())
fwm.login();
String data = fwm.getTamMessage(url);
if (data == null)
return;
ByteArrayInputStream bin = new ByteArrayInputStream(data.getBytes());
Base64Decoder b64 = new Base64Decoder(bin);
FileOutputStream fos = new FileOutputStream(message_file);
Stream.copy(b64, fos);
fos.flush();
fos.close();
} catch (IOException e) {
this.m_logger.warning(e.toString());
} catch (FritzBoxLoginException e) {
this.m_logger.warning(e.toString());
}
}
}
try {
AudioInputStream stream = AudioSystem.getAudioInputStream(message_file);
AudioFormat format = stream.getFormat();
DataLine.Info info = new DataLine.Info(Clip.class, format);
Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(stream);
clip.start();
} catch (IOException e) {
this.m_logger.severe(e.getMessage());
} catch (LineUnavailableException e) {
this.m_logger.severe(e.getMessage());
} catch (UnsupportedAudioFileException e) {
this.m_logger.severe(e.getMessage());
}
} else {
new SWTExecuter() {
protected void execute() {
int style = SWT.APPLICATION_MODAL | SWT.OK;
MessageBox messageBox = new MessageBox(new Shell(DisplayManager.getDefaultDisplay()), style);
messageBox.setMessage(getI18nManager().getString(getNamespace(), "notam", "label", getLanguage()));
messageBox.open();
}
}.start();
return;
}
}
}
}
}
use of de.janrufmonitor.fritzbox.firmware.exception.FritzBoxLoginException in project janrufmonitor by tbrandt77.
the class FritzBoxPhonebookManager method createFieldEditors.
protected void createFieldEditors() {
FirmwareManager fwm = FirmwareManager.getInstance();
String label = this.m_i18n.getString(this.getNamespace(), "enabled", "label", this.m_language);
if (label.length() < 150)
for (int i = 150; i > label.length(); i--) {
label += " ";
}
BooleanFieldEditor bfe = new BooleanFieldEditor(this.getConfigNamespace() + SEPARATOR + "enabled", label, this.getFieldEditorParent());
bfe.setEnabled((fwm.isInstance(UnitymediaFirmware.class) || fwm.isInstance(SessionIDFritzBoxFirmware.class) || fwm.isInstance(FritzOSFirmware.class) || fwm.isInstance(FritzOS559Firmware.class) || fwm.isInstance(TR064FritzBoxFirmware.class)), this.getFieldEditorParent());
addField(bfe);
if (fwm.isInstance(FritzOSFirmware.class) || fwm.isInstance(FritzOS559Firmware.class) || fwm.isInstance(TR064FritzBoxFirmware.class)) {
try {
if (!fwm.isLoggedIn())
fwm.login();
Map adb = fwm.getAddressbooks();
String[][] list = new String[adb.size()][2];
Iterator i = adb.keySet().iterator();
int c = 0;
while (i.hasNext()) {
list[c][1] = ((Integer) i.next()).toString();
list[c][0] = (String) adb.get(Integer.parseInt(list[c][1]));
c++;
}
ComboFieldEditor cfe = new ComboFieldEditor(getConfigNamespace() + SEPARATOR + "ab", this.m_i18n.getString(this.getNamespace(), "ab", "label", this.m_language), list, this.getFieldEditorParent());
addField(cfe);
} catch (GetAddressbooksException e) {
this.m_logger.severe(e.getMessage());
} catch (IOException e) {
this.m_logger.severe(e.getMessage());
} catch (FritzBoxLoginException e) {
this.m_logger.severe(e.getMessage());
}
}
}
use of de.janrufmonitor.fritzbox.firmware.exception.FritzBoxLoginException in project janrufmonitor by tbrandt77.
the class FritzBoxPhonebookManager method createCallerListFromFritzBoxPhonebook.
private void createCallerListFromFritzBoxPhonebook() {
Thread t = new Thread(new Runnable() {
Logger m_logger;
public void run() {
isSyncing = true;
this.m_logger = LogManager.getLogManager().getLogger(IJAMConst.DEFAULT_LOGGER);
if (this.m_logger.isLoggable(Level.FINE))
this.m_logger.fine("Starting JAM-FritzBoxPhonebookSync-Thread");
File mso_cache = new File(FBP_CACHE_PATH);
if (!mso_cache.exists())
mso_cache.mkdirs();
ICallerList cl = getRuntime().getCallerFactory().createCallerList();
FirmwareManager fwm = FirmwareManager.getInstance();
fwm.startup();
try {
if (!fwm.isLoggedIn())
fwm.login();
if (this.m_logger.isLoggable(Level.INFO))
this.m_logger.info("FritzBox Firmware created.");
if (this.m_logger.isLoggable(Level.INFO))
this.m_logger.info("Login to FritzBox successfull.");
// check if phonebook is configured
String abId = getConfiguration().getProperty(CFG_ADDRESSBOOK, "0");
if (this.m_logger.isLoggable(Level.INFO))
this.m_logger.info("Getting FritzBox phonebook ID: #" + abId);
int id = Integer.parseInt(abId);
String name = null;
try {
Map abs = fwm.getAddressbooks();
if (abs.containsKey(Integer.parseInt(abId))) {
name = (String) abs.get(Integer.parseInt(abId));
if (this.m_logger.isLoggable(Level.INFO))
this.m_logger.info("Getting FritzBox phonebook name: " + name);
}
} catch (GetAddressbooksException e) {
this.m_logger.log(Level.WARNING, e.getMessage(), e);
}
List callers = null;
if (name != null) {
callers = fwm.getCallerList(id, name);
if (this.m_logger.isLoggable(Level.INFO))
this.m_logger.info("Getting FritzBox phonebook callers: " + callers.size());
} else {
callers = fwm.getCallerList();
if (this.m_logger.isLoggable(Level.INFO))
this.m_logger.info("Getting FritzBox default phonebook callers: " + callers.size());
}
if (callers.size() == 0) {
try {
getDatabaseHandler().deleteCallerList(getRuntime().getCallerFactory().createCallerList());
getDatabaseHandler().commit();
} catch (SQLException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
try {
getDatabaseHandler().rollback();
} catch (SQLException e1) {
this.m_logger.log(Level.SEVERE, e1.getMessage(), e1);
}
}
isSyncing = false;
return;
}
cl.add(FritzBoxMappingManager.getInstance().toCallerList(callers));
} catch (FritzBoxLoginException e2) {
this.m_logger.log(Level.SEVERE, e2.getMessage(), e2);
} catch (GetCallerListException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
} catch (IOException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
} catch (Throwable e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
}
try {
getDatabaseHandler().deleteCallerList(getRuntime().getCallerFactory().createCallerList());
getDatabaseHandler().insertOrUpdateCallerList(cl);
getDatabaseHandler().commit();
} catch (SQLException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
try {
getDatabaseHandler().rollback();
} catch (SQLException e1) {
this.m_logger.log(Level.SEVERE, e1.getMessage(), e1);
}
}
isSyncing = false;
if (this.m_logger.isLoggable(Level.FINE))
this.m_logger.fine("Stopping JAM-FritzBoxPhonebookSync-Thread");
}
});
t.setName("JAM-FritzBoxPhonebookSync-Thread-(non-deamon)");
t.start();
}
Aggregations