@Override public String getColumnText(Object element, int columnIndex) { try { if (element instanceof PlaceHolder) { if (columnIndex == 1) { PlaceHolder ph = (PlaceHolder) element; return ph.getTitle(); } return ""; //$NON-NLS-1$ } ReportTemplateMetaData data = (ReportTemplateMetaData) element; switch (columnIndex) { case 0: return data.getOutputname(); // $NON-NLS-1$ case 1: StringBuilder sb = new StringBuilder(); OutputFormat[] formats = data.getOutputFormats(); for (int i = 0; i < formats.length; i++) { sb.append(formats[i]); if (!(i == formats.length - 1)) { sb.append(", "); } } return sb.toString(); // $NON-NLS-1$ case 2: return data.getFilename(); // $NON-NLS-1$ default: return null; } } catch (Exception e) { LOG.error("Error while getting column text", e); // $NON-NLS-1$ throw new RuntimeException(e); } }
private void deleteAttachments() { Iterator iterator = ((IStructuredSelection) viewer.getSelection()).iterator(); while (iterator.hasNext()) { ReportTemplateMetaData sel = (ReportTemplateMetaData) iterator.next(); try { ServiceFactory.lookupReportDepositService().remove(sel, Locale.getDefault().getLanguage()); } catch (ReportDepositException e) { ExceptionUtil.log(e, "Error deleting Reporttemplate:\t" + sel.getOutputname()); } } }
/** * adds decorators ( "(L)" or "(S)" ) as a prefix to the report names, sorts alphabetically: * (locally stored templates before server-sided templates) adds sorted name list to the * reportCombo * * @return sorted Array (for access later on) */ @SuppressWarnings("unchecked") private ReportTemplateMetaData[] fillReportCombo() { Arrays.sort( reportTemplates, new Comparator() { @Override public int compare(Object template1, Object template2) { return comparator.compare( ((ReportTemplateMetaData) template1).getDecoratedOutputname(), ((ReportTemplateMetaData) template2).getDecoratedOutputname()); } }); for (ReportTemplateMetaData data : reportTemplates) { comboReportType.add(data.getDecoratedOutputname()); } return reportTemplates; }
/* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface * .viewers.Viewer, java.lang.Object, java.lang.Object) */ @Override public int compare(Viewer viewer, Object e1, Object e2) { ReportTemplateMetaData data1 = (ReportTemplateMetaData) e1; ReportTemplateMetaData data2 = (ReportTemplateMetaData) e2; int rc = 0; if (e1 == null) { if (e2 != null) { rc = 1; } } else if (e2 == null) { rc = -1; } else { // e1 and e2 != null switch (propertyIndex) { case 0: rc = comporeToLowerCase(data1.getDecoratedOutputname(), data2.getDecoratedOutputname()); break; case 1: // implement a sorted list here that needs to be compared String s1 = getSortedOutputFormatsString(data1.getOutputFormats()); String s2 = getSortedOutputFormatsString(data2.getOutputFormats()); if (s1 != null && s2 != null) { rc = s1.compareTo(s2); } break; case 2: rc = comporeToLowerCase(data1.getFilename(), data2.getFilename()); break; default: rc = 0; } } // If descending order, flip the direction if (direction == DESCENDING) { rc = -rc; } return rc; }
protected String getDefaultOutputFilename() { String outputFileName = chosenReportMetaData.getOutputname(); if (outputFileName == null || outputFileName.isEmpty()) { outputFileName = "unknown"; } StringBuilder sb = new StringBuilder(outputFileName); String scopeName = convertToFileName(scopeCombo.getText()); if (scopeName != null && !scopeName.isEmpty()) { sb.append("_").append(scopeName); } if (useDate) { String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); sb.append("_").append(date); } if (chosenOutputFormat != null) { sb.append(".").append(chosenOutputFormat.getFileSuffix()); } else { sb.append(".pdf"); } return convertToFileName(sb.toString()); }
private void setupComboOutputFormatContent() { comboOutputFormat.removeAll(); if (reportTemplates.length > 0) { for (IOutputFormat of : getDepositService() .getOutputFormats( reportTemplates[comboReportType.getSelectionIndex()].getOutputFormats())) { comboOutputFormat.add(of.getLabel()); } comboOutputFormat.select(0); if (chosenReportMetaData != null) { chosenOutputFormat = getDepositService() .getOutputFormat( chosenReportMetaData.getOutputFormats()[comboOutputFormat.getSelectionIndex()]); } } else { showNoReportsExistant(); return; } }
@Override protected void okPressed() { try { if (textFile.getText().length() == 0 || scopeCombo.getSelectionIndex() < 0) { MessageDialog.openWarning( getShell(), Messages.GenerateReportDialog_5, Messages.GenerateReportDialog_6); return; } List<Integer> scopeIds = new ArrayList<Integer>(0); if (getRootElement() != null) { scopeIds.add(getRootElement()); } if (getRootElements() != null) { for (Integer scopeId : getRootElements()) { if (scopeId != null) { scopeIds.add(scopeId); } } } IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore(); boolean dontShow = preferenceStore.getBoolean(PreferenceConstants.SHOW_REPORT_VALIDATION_WARNING); IValidationService vService = ServiceFactory.lookupValidationService(); boolean validationsExistant = false; for (Integer scopeId : scopeIds) { if (vService.getValidations(scopeId, (Integer) null).size() > 0) { validationsExistant = true; break; } } if (!dontShow && validationsExistant) { MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoQuestion( getParentShell(), Messages.GenerateReportDialog_5, Messages.GenerateReportDialog_21, Messages.GenerateReportDialog_23, dontShow, preferenceStore, PreferenceConstants.SHOW_REPORT_VALIDATION_WARNING); preferenceStore.setValue( PreferenceConstants.SHOW_REPORT_VALIDATION_WARNING, dialog.getToggleState()); if (!(dialog.getReturnCode() == IDialogConstants.OK_ID || dialog.getReturnCode() == IDialogConstants.YES_ID)) { return; } } String f = textFile.getText(); if (reportTemplates.length > 0) { chosenReportMetaData = reportTemplates[comboReportType.getSelectionIndex()]; } else { showNoReportsExistant(); return; } chosenOutputFormat = getDepositService() .getOutputFormat( chosenReportMetaData.getOutputFormats()[comboOutputFormat.getSelectionIndex()]); // This just appends the chosen report's extension if the existing // suffix does not match. Could be enhanced. if (!f.endsWith(chosenOutputFormat.getFileSuffix())) { f += "." + chosenOutputFormat.getFileSuffix(); // $NON-NLS-1$ } String currentPath = setupDirPath(); if (useDefaultFolder) { Activator.getDefault() .getPreferenceStore() .setValue(PreferenceConstants.DEFAULT_FOLDER_REPORT, currentPath); } currentPath = getOldTemplateFolderPath(); outputFile = new File(f); } catch (Exception e) { LOG.error("Error while creating report.", e); MessageDialog.openError(getShell(), "Error", "An error occurred while creating report."); return; } super.okPressed(); }