diff --git a/ccm-cms/src/main/java/org/librecms/assets/OrganizationIdResolver.java b/ccm-cms/src/main/java/org/librecms/assets/OrganizationIdResolver.java index d089ac725..ced38ac32 100644 --- a/ccm-cms/src/main/java/org/librecms/assets/OrganizationIdResolver.java +++ b/ccm-cms/src/main/java/org/librecms/assets/OrganizationIdResolver.java @@ -49,26 +49,38 @@ public class OrganizationIdResolver implements Serializable, ObjectIdResolver { @Override public Object resolveId(final ObjectIdGenerator.IdKey id) { - final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); - final Optional result = cdiUtil + return CdiUtil + .createCdiUtil() .findBean(AssetRepository.class) - .findByUuidAndType(id.key.toString(), Organization.class); - if (result.isPresent()) { - return result.get(); - } else { - final Organization organization = new Organization(); - organization.setName( - String.format("Placeholder %s", id.key.toString()) + .findByUuidAndType(id.key.toString(), Organization.class) + .orElseThrow( + () -> new IllegalArgumentException( + String.format( + "No Organization with UUID %s found in the database.", + id.key.toString() + ) + ) ); - final AssetRepository assetRepo = cdiUtil.findBean( - AssetRepository.class - ); - assetRepo.save(organization); - organization.setUuid(id.key.toString()); - assetRepo.save(organization); - - return organization; - } +// final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); +// final Optional result = cdiUtil +// .findBean(AssetRepository.class) +// .findByUuidAndType(id.key.toString(), Organization.class); +// if (result.isPresent()) { +// return result.get(); +// } else { +// final Organization organization = new Organization(); +// organization.setName( +// String.format("Placeholder %s", id.key.toString()) +// ); +// final AssetRepository assetRepo = cdiUtil.findBean( +// AssetRepository.class +// ); +// assetRepo.save(organization); +// organization.setUuid(id.key.toString()); +// assetRepo.save(organization); +// +// return organization; +// } } @Override diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/FolderIdResolver.java b/ccm-cms/src/main/java/org/librecms/contentsection/FolderIdResolver.java index 3c507f608..a2fcdaab8 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/FolderIdResolver.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/FolderIdResolver.java @@ -45,30 +45,42 @@ public class FolderIdResolver implements Serializable, ObjectIdResolver { @Override public Object resolveId(final ObjectIdGenerator.IdKey id) { - final Optional result = CdiUtil + return CdiUtil .createCdiUtil() .findBean(FolderRepository.class) - .findByUuid(id.key.toString()); - if (result.isPresent()) { - return result.get(); - } else { - final Folder folder = new Folder(); - folder.setUuid(id.key.toString()); - folder.setUniqueId(id.key.toString()); - folder.setName( - String.format( - "placeholder-%s", - id.key.toString() + .findByUuid(id.key.toString()) + .orElseThrow( + () -> new IllegalArgumentException( + String.format( + "No Folder with UUID %s in the database.", + id.key.toString() + ) ) ); - folder.setType(FolderType.DOCUMENTS_FOLDER); - CdiUtil - .createCdiUtil() - .findBean(FolderRepository.class) - .save(folder); - - return folder; - } +// final Optional result = CdiUtil +// .createCdiUtil() +// .findBean(FolderRepository.class) +// .findByUuid(id.key.toString()); +// if (result.isPresent()) { +// return result.get(); +// } else { +// final Folder folder = new Folder(); +// folder.setUuid(id.key.toString()); +// folder.setUniqueId(id.key.toString()); +// folder.setName( +// String.format( +// "placeholder-%s", +// id.key.toString() +// ) +// ); +// folder.setType(FolderType.DOCUMENTS_FOLDER); +// CdiUtil +// .createCdiUtil() +// .findBean(FolderRepository.class) +// .save(folder); +// +// return folder; +// } } @Override diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/FolderImExporter.java b/ccm-cms/src/main/java/org/librecms/contentsection/FolderImExporter.java index b907b9211..7725b6217 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/FolderImExporter.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/FolderImExporter.java @@ -2,6 +2,7 @@ package org.librecms.contentsection; import org.libreccm.categorization.Category; import org.libreccm.categorization.CategoryManager; +import org.libreccm.categorization.CategoryRepository; import org.libreccm.categorization.Domain; import org.libreccm.imexport.AbstractEntityImExporter; import org.libreccm.imexport.Processes; @@ -42,6 +43,9 @@ public class FolderImExporter extends AbstractEntityImExporter { @Inject private CategoryManager categoryManager; + + @Inject + private CategoryRepository categoryRepo; @Inject private FolderRepository folderRepo; @@ -66,6 +70,26 @@ public class FolderImExporter extends AbstractEntityImExporter { @Override protected Optional findExistingEntity(final String uuid) { return folderRepo.findByUuid(uuid); +// final Optional result = folderRepo.findByUuid(uuid); +// if (result.isPresent()) { +// return result; +// } +// +// final Optional placeholderResult = categoryRepo.findByUuid( +// uuid +// ); +// if (placeholderResult.isPresent()) { +// // Found a placeholder category. Replace with real folder. +// +// final Category placeholder = placeholderResult.get(); +// +// +// +// return folder; +// } +// +// return Optional.empty(); + } @Override diff --git a/ccm-core/src/main/java/org/libreccm/categorization/CategoryIdResolver.java b/ccm-core/src/main/java/org/libreccm/categorization/CategoryIdResolver.java index 059832fcd..cfa89b0c1 100644 --- a/ccm-core/src/main/java/org/libreccm/categorization/CategoryIdResolver.java +++ b/ccm-core/src/main/java/org/libreccm/categorization/CategoryIdResolver.java @@ -51,28 +51,40 @@ public class CategoryIdResolver implements Serializable, ObjectIdResolver { @Override public Object resolveId(final ObjectIdGenerator.IdKey id) { - final Optional result = CdiUtil + return CdiUtil .createCdiUtil() .findBean(CategoryRepository.class) - .findByUuid(id.key.toString()); - if (result.isPresent()) { - return result.get(); - } else { - final Category category = new Category(); - category.setUuid(id.key.toString()); - category.setUniqueId(id.key.toString()); - category.setName( - String.format( - "placeholder-%s", - id.key.toString() + .findByUuid(id.key.toString()) + .orElseThrow( + () -> new IllegalArgumentException( + String.format( + "No Category with UUID %s in the database.", + id.key.toString() + ) ) ); - CdiUtil - .createCdiUtil() - .findBean(CategoryRepository.class) - .save(category); - return category; - } +// final Optional result = CdiUtil +// .createCdiUtil() +// .findBean(CategoryRepository.class) +// .findByUuid(id.key.toString()); +// if (result.isPresent()) { +// return result.get(); +// } else { +// final Category category = new Category(); +// category.setUuid(id.key.toString()); +// category.setUniqueId(id.key.toString()); +// category.setName( +// String.format( +// "placeholder-%s", +// id.key.toString() +// ) +// ); +// CdiUtil +// .createCdiUtil() +// .findBean(CategoryRepository.class) +// .save(category); +// return category; +// } } @Override