use of de.janrufmonitor.service.comment.api.ICommentCaller in project janrufmonitor by tbrandt77.
the class PDFHistoryAction method run.
public void run() {
FileDialog dialog = new FileDialog(new Shell(DisplayManager.getDefaultDisplay()), SWT.SAVE);
dialog.setFilterExtensions(new String[] { "*.pdf" });
dialog.setFilterNames(new String[] { getI18nManager().getString(getNamespace(), "pdffilter", "label", getLanguage()) });
dialog.setText(getI18nManager().getString(getNamespace(), "pdf", "label", getLanguage()));
String filename = dialog.open();
if (filename != null && filename.length() > 0) {
if (this.m_app.getApplication() instanceof Comment) {
ICaller c = ((Comment) this.m_app.getApplication()).getCurrentCaller();
IService srv = getRuntime().getServiceFactory().getService("CommentService");
if (srv != null && srv instanceof CommentService) {
CommentCallerHandler cch = ((CommentService) srv).getHandler();
if (cch.hasCommentCaller(c)) {
ICommentCaller cc = cch.getCommentCaller(c);
try {
Class pdfclass = Thread.currentThread().getContextClassLoader().loadClass("de.janrufmonitor.ui.jface.application.comment.action.PDFCreator");
Constructor con = pdfclass.getConstructor(new Class[] { ICommentCaller.class, String.class });
Object pdfcreator = con.newInstance(new Object[] { cc, filename });
Method m = pdfclass.getMethod("createPdf", (Class) null);
m.invoke(pdfcreator, (Object) null);
} catch (ClassNotFoundException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
} catch (SecurityException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
} catch (NoSuchMethodException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
} catch (IllegalArgumentException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
} catch (InstantiationException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
} catch (IllegalAccessException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
} catch (InvocationTargetException e) {
this.m_logger.log(Level.SEVERE, e.getMessage(), e);
}
}
}
}
}
}
use of de.janrufmonitor.service.comment.api.ICommentCaller in project janrufmonitor by tbrandt77.
the class OldImportAction method doImport.
private synchronized void doImport(List fileList) {
this.m_logger.info("Starting import of " + fileList.size() + " comments.");
for (int i = 0; i < fileList.size(); i++) {
File f = (File) fileList.get(i);
String number = f.getName().substring(1, f.getName().indexOf("."));
IPhonenumber pn = this.getRuntime().getCallerFactory().createPhonenumber(number);
try {
ICaller c = Identifier.identifyDefault(PIMRuntime.getInstance(), pn);
ICommentCaller cc = null;
if (this.getHandler().hasCommentCaller(c)) {
cc = this.getHandler().getCommentCaller(c);
} else {
cc = this.getHandler().createCommentCaller(c);
}
IComment comment = this.getHandler().createComment();
String content = this.getCommentContent(new FileInputStream(f));
comment.setText(content);
comment.setDate(new Date(f.lastModified()));
cc.addComment(comment);
this.getHandler().setCommentCaller(cc);
} catch (FileNotFoundException e) {
this.m_logger.severe(e.toString() + ": " + e.getMessage());
} catch (IOException e) {
this.m_logger.severe(e.toString() + ": " + e.getMessage());
}
}
}
use of de.janrufmonitor.service.comment.api.ICommentCaller in project janrufmonitor by tbrandt77.
the class CommentCallerHandler method getCommentCallerFromHierarchy.
private ICommentCaller getCommentCallerFromHierarchy(ICaller caller) {
String callerDirectoryName = this.getCommentRoot() + this.getCommentLocation(caller.getPhoneNumber());
File callerDir = new File(callerDirectoryName);
if (callerDir.exists()) {
ICommentCaller commentCaller = this.createCommentCaller(caller);
File[] comments = callerDir.listFiles(new FileFilter() {
public boolean accept(File pathname) {
if (pathname.getAbsolutePath().endsWith(getCommentFilenameExtension())) {
return true;
}
return false;
}
});
for (int i = 0; i < comments.length; i++) {
IComment comment = this.createComment(comments[i]);
// TODO: removed due to performance reasons
// File attachmentFolder = new File(callerDirectoryName + comment.getID());
// if (attachmentFolder.exists()) {
// File[] attachments = attachmentFolder.listFiles();
// for (int j=0;j<attachments.length;j++) {
// IAttachment attachment = this.createAttachment(attachments[j]);
// comment.addAttachment(attachment);
// }
// }
commentCaller.addComment(comment);
}
return commentCaller;
}
this.m_logger.info("Comments for caller " + caller.toString() + " does not exist.");
return null;
}
Aggregations