/** * {@inheritDoc} */ @Override protected boolean canEdit(Object element) { AbstractStorageLabel<?> label = (AbstractStorageLabel<?>) element; return label.getStorageLabelType().isEditable(); }
/** * Return if the label of provided type is present in the label list. * * @param labelType * Type to search for. * @return True if one of more labels of desired type is present, false otherwise. */ public boolean isLabelPresent(AbstractStorageLabelType<?> labelType) { for (AbstractStorageLabel<?> label : labelList) { if (label.getStorageLabelType().equals(labelType)) { return true; } } return false; }
/** * Returns the name of the label, based on it's type. If label is <code>null</code>, string * "null" will be returned. * * @param label * Label to get name for. * @return Returns the name of the label, based on it's class. */ public static String getLabelName(AbstractStorageLabel<?> label) { if (null == label) { return "null"; } else { return getLabelName(label.getStorageLabelType()); } }
/** * Return all labels of these storage that are of a given type. * * @param <T> * Type * @param labelType * Searched label type. * @return List of labels. */ @SuppressWarnings("unchecked") public <T> List<AbstractStorageLabel<T>> getLabels(AbstractStorageLabelType<T> labelType) { List<AbstractStorageLabel<T>> labels = new ArrayList<>(); for (AbstractStorageLabel<?> label : labelList) { if (label.getStorageLabelType().equals(labelType)) { labels.add((AbstractStorageLabel<T>) label); } } return labels; }
/** * Returns if any storage in collection of storages does contain at least one label that is of * the given label type. * * @param labelType * Label type to search for. * @param labelsInStorages * Storages to check. * @return True if at least one label of given type exists in one of given storages. */ private boolean isLabelTypeExistsInStorage(AbstractStorageLabelType<?> labelType, Set<AbstractStorageLabel<?>> labelsInStorages) { for (AbstractStorageLabel<?> label : labelsInStorages) { if (ObjectUtils.equals(label.getStorageLabelType(), labelType)) { return true; } } return false; }
/** * Return all labels of these storage that are of a given type. * * @param <T> * Type * @param labelType * Searched label type. * @return List of labels. */ @SuppressWarnings("unchecked") public <T> List<AbstractStorageLabel<T>> getLabels(AbstractStorageLabelType<T> labelType) { List<AbstractStorageLabel<T>> labels = new ArrayList<>(); for (AbstractStorageLabel<?> label : labelList) { if (label.getStorageLabelType().equals(labelType)) { labels.add((AbstractStorageLabel<T>) label); } } return labels; }
if (label.getStorageLabelType().isOnePerStorage()) { boolean exists = false; for (AbstractStorageLabel<?> existingLabel : labelList) { if (label.getStorageLabelType().equals(existingLabel.getStorageLabelType())) { exists = true; if (doOverwrite) {
/** * {@inheritDoc} */ @Override public int compareTo(AbstractStorageLabel<?> other) { int typeCompare = storageLabelType.compareTo(other.getStorageLabelType()); if (0 != typeCompare) { return typeCompare; } else { if (!BooleanStorageLabel.class.isAssignableFrom(other.getClass())) { return super.compareTo(other); } else { BooleanStorageLabel otherLabel = (BooleanStorageLabel) other; return booleanValue.compareTo(otherLabel.booleanValue); } } }
/** * {@inheritDoc} */ @Override public int compareTo(AbstractStorageLabel<?> other) { int typeCompare = storageLabelType.compareTo(other.getStorageLabelType()); if (0 != typeCompare) { return typeCompare; } else { if (!DateStorageLabel.class.isAssignableFrom(other.getClass())) { return super.compareTo(other); } else { DateStorageLabel otherLabel = (DateStorageLabel) other; return dateValue.compareTo(otherLabel.dateValue); } } }
/** * {@inheritDoc} */ @Override public int compareTo(AbstractStorageLabel<?> other) { int typeCompare = storageLabelType.compareTo(other.getStorageLabelType()); if (0 != typeCompare) { return typeCompare; } else { if (!StringStorageLabel.class.isAssignableFrom(other.getClass())) { return super.compareTo(other); } else { StringStorageLabel otherLabel = (StringStorageLabel) other; return stringValue.compareToIgnoreCase(otherLabel.stringValue); } } }
/** * {@inheritDoc} */ @Override public void removeLabel(AbstractStorageLabel<?> label) { if (label.getStorageLabelType().isValueReusable()) { JpaUtil.delete(entityManager, label); } }
/** * {@inheritDoc} */ @Override public boolean saveLabel(AbstractStorageLabel<?> label) { if (label.getStorageLabelType().isValueReusable()) { List<?> exampleFind = loadAll(label.getClass()); if (!exampleFind.contains(label)) { AbstractStorageLabelType<?> labelType = label.getStorageLabelType(); if (null == labelType) { return false; } if ((labelType.getId() == 0) && !labelType.isMultiType()) { return false; } entityManager.persist(label); return true; } } return false; }
/** * {@inheritDoc} */ @Override public int compareTo(AbstractStorageLabel<?> other) { int typeCompare = storageLabelType.compareTo(other.getStorageLabelType()); if (0 != typeCompare) { return typeCompare; } else { if (!NumberStorageLabel.class.isAssignableFrom(other.getClass())) { return super.compareTo(other); } else { NumberStorageLabel otherLabel = (NumberStorageLabel) other; double res = numberValue.doubleValue() - otherLabel.numberValue.doubleValue(); if (res > 0) { return 1; } else if (res < 0) { return -1; } else { return 0; } } } } }
if (null == label) { return "null"; } else if (CreationDateLabelType.class.equals(label.getStorageLabelType().getClass())) { Date date = (Date) ((AbstractStorageLabel<?>) label).getValue(); if (grouped) {
/** * {@inheritDoc} */ @Override @SuppressWarnings("unchecked") public int compareTo(AbstractStorageLabel<?> other) { int typeCompare = storageLabelType.compareTo(other.getStorageLabelType()); if (0 != typeCompare) { return typeCompare; } else { if (!ObjectStorageLabel.class.isAssignableFrom(other.getClass())) { return super.compareTo(other); } else { ObjectStorageLabel<T> otherLabel = (ObjectStorageLabel<T>) other; return value.compareTo(otherLabel.getValue()); } } } }
/** * Returns if the label type is present in the storage or in the list of labels to add. * * @param selectedLabelType * Selected {@link AbstractStorageLabelType}. * @return True if label type already exists. */ private boolean isLabelTypePresent(AbstractStorageLabelType<?> selectedLabelType) { if (storageData.isLabelPresent(selectedLabelType)) { return true; } for (AbstractStorageLabel<?> label : labelsToAdd) { if (ObjectUtils.equals(selectedLabelType, label.getStorageLabelType())) { return true; } } return false; }
if (!Objects.equals(label, editingLabel)) { if (label.getStorageLabelType().isValueReusable() && (cmrRepositoryDefinition.getOnlineStatus() != OnlineStatus.OFFLINE)) { suggestionLabelList.clear(); suggestionLabelList.addAll(cmrRepositoryDefinition.getStorageService().getLabelSuggestions(label.getStorageLabelType())); if (!suggestionLabelList.isEmpty() && (null != storageData)) { suggestionLabelList.removeAll(storageData.getLabelList());
if (index >= 0) { AbstractStorageLabel<Object> label = (AbstractStorageLabel<Object>) element; if (label.getStorageLabelType().getValueClass().equals(Boolean.class)) { Boolean newValue = Boolean.valueOf(0 == index); changeValue(label, newValue); if (index == 0) { CreateValueDialog createValueDialog = new CreateValueDialog(table.getShell(), label.getStorageLabelType()); createValueDialog.open(); if (createValueDialog.getReturnCode() == Window.OK) {
/** * Manages the label type selection. */ private void manageLabelTypeSlection() { if (!labelTypeTableViewer.getSelection().isEmpty()) { AbstractStorageLabelType<?> labelType = (AbstractStorageLabelType<?>) ((StructuredSelection) labelTypeTableViewer.getSelection()).getFirstElement(); List<AbstractStorageLabel<?>> inputForLabelTable = new ArrayList<>(); for (AbstractStorageLabel<?> label : labelList) { if (ObjectUtils.equals(label.getStorageLabelType(), labelType)) { inputForLabelTable.add(label); } } if (labelType.isValueReusable()) { createLabel.setEnabled(true); labelsTableViewer.getTable().setEnabled(true); } else { createLabel.setEnabled(false); labelsTableViewer.getTable().setEnabled(false); } removeLabelType.setEnabled(AbstractCustomStorageLabelType.class.isAssignableFrom(labelType.getClass())); labelsTableViewer.setInput(inputForLabelTable); labelsTableViewer.refresh(); } else { removeLabelType.setEnabled(false); createLabel.setEnabled(true); labelsTableViewer.getTable().setEnabled(true); labelsTableViewer.setInput(null); labelsTableViewer.refresh(); } }
AbstractStorageLabel<Object> storageLabel = mock(AbstractStorageLabel.class); AbstractStorageLabelType<Object> labelType = mock(AbstractStorageLabelType.class); when(storageLabel.getStorageLabelType()).thenReturn(labelType); when(labelType.isOnePerStorage()).thenReturn(false); when(storageLabel2.getStorageLabelType()).thenReturn(labelType); storageData.addLabel(storageLabel, false); storageData.addLabel(storageLabel2, false);