private String getFolderTreeItemCaption(Folder folder) { return folder.getCaption(); }
@SuppressWarnings("unchecked") @Override public T getParent(T item) { return (T) item.getParent(); } }
folder.setParent(parentFolder); Transaction tx = persistence.createTransaction(); try { EntityManager em = persistence.getEntityManager(); em.setSoftDeletion(false); Folder existingFolder = em.find(Folder.class, folder.getId()); if (existingFolder != null) { checkImportPermissions(existingFolder); folder.setVersion(existingFolder.getVersion()); folder.setCreateTs(existingFolder.getCreateTs()); folder.setCreatedBy(existingFolder.getCreatedBy()); } else { User user = userSessionSource.getUserSession().getUser(); folder.setCreatedBy(user.getLoginLowerCase()); folder.setCreateTs(timeSource.currentTimestamp()); folder.setUpdatedBy(null); folder.setUpdateTs(null); folder.setVersion(0);
nameField.setCaption(getMessage("folders.folderEditWindow.nameField")); nameField.setWidth("250px"); nameField.setValue(folder.getName()); nameField.focus(); layout.addComponent(nameField); tabNameField.setCaption(getMessage("folders.folderEditWindow.tabNameField")); tabNameField.setWidth("250px"); tabNameField.setValue(StringUtils.trimToEmpty(folder.getTabName())); layout.addComponent(tabNameField); parentSelect.setNullSelectionAllowed(true); fillParentSelect(); parentSelect.setValue(folder.getParent()); layout.addComponent(parentSelect); sortOrderField.setCaption(getMessage("folders.folderEditWindow.sortOrder")); sortOrderField.setWidth("250px"); sortOrderField.setValue(folder.getSortOrder() == null ? "" : folder.getSortOrder().toString()); layout.addComponent(sortOrderField);
@Override public void perform(final Folder folder) { final Folder newFolder = isAppFolder ? metadata.create(AppFolder.class) : metadata.create(SearchFolder.class); newFolder.setName(""); newFolder.setTabName(""); newFolder.setParent(folder); final FolderEditWindow window = AppFolderEditWindow.create(isAppFolder, true, newFolder, null, () -> { saveFolder(newFolder); refreshFolders(); }); AppUI.getCurrent().addWindow(window); } }
@Override public byte[] exportFolder(Folder folder) throws IOException { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ZipArchiveOutputStream zipOutputStream = new ZipArchiveOutputStream(byteArrayOutputStream); zipOutputStream.setMethod(ZipArchiveOutputStream.STORED); zipOutputStream.setEncoding(StandardCharsets.UTF_8.name()); String xml = createXStream().toXML(folder); byte[] xmlBytes = xml.getBytes(StandardCharsets.UTF_8); ArchiveEntry zipEntryDesign = newStoredEntry("folder.xml", xmlBytes); zipOutputStream.putArchiveEntry(zipEntryDesign); zipOutputStream.write(xmlBytes); try { zipOutputStream.closeArchiveEntry(); } catch (Exception ex) { throw new RuntimeException(String.format("Exception occurred while exporting folder %s.", folder.getName())); } zipOutputStream.close(); return byteArrayOutputStream.toByteArray(); }
@Override public void perform(final Folder folder) { AbstractSearchFolder newFolder = (AbstractSearchFolder) metadata.create(folder.getMetaClass()); newFolder.copyFrom((AbstractSearchFolder) folder); new EditAction().perform(newFolder); } }
/** * Returns a given folder's parent only if it's not marked as deleted, * otherwise there will be an exception, because a folder returns a not null parent, * but there is no such item in tree as it's not loaded as separate folder as it's marked as deleted. * * @param folder a folder to obtain a parent * @return a parent folder */ protected Folder getFolderParent(Folder folder) { if (!entityStates.isLoaded(folder, "parent")) { return null; } else { Folder parent = folder.getParent(); return parent == null ? null : PersistenceHelper.isDeleted(parent) ? null : parent; } }