Mising ImExporter for PhaseDefinitions

deploy_packages_to_gitea
Jens Pelzetter 2022-10-31 08:43:09 +01:00
parent b59987ba97
commit 48965f101d
3 changed files with 76 additions and 3 deletions

View File

@ -1,12 +1,12 @@
{
"name": "@librecms/ccm-cms",
"version": "7.0.0-SNAPSHOT.2022-10-29T142641",
"version": "7.0.0-SNAPSHOT.2022-10-31T074006",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@librecms/ccm-cms",
"version": "7.0.0-SNAPSHOT.2022-10-29T142641",
"version": "7.0.0-SNAPSHOT.2022-10-31T074006",
"license": "LGPL-3.0-or-later",
"dependencies": {
"@tiptap/core": "^2.0.0-beta.127",

View File

@ -1,6 +1,6 @@
{
"name": "@librecms/ccm-cms",
"version": "7.0.0-SNAPSHOT.2022-10-29T142641",
"version": "7.0.0-SNAPSHOT.2022-10-31T074006",
"description": "JavaScript stuff for ccm-cms",
"main": "target/generated-resources/assets/@content-sections/cms-admin.js",
"types": "target/generated-resources/assets/@content-sections/cms-admin.d.ts",

View File

@ -0,0 +1,73 @@
/*
* Copyright (C) 2022 LibreCCM Foundation.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package org.librecms.lifecycle;
import org.libreccm.imexport.AbstractEntityImExporter;
import org.libreccm.imexport.Exportable;
import org.libreccm.imexport.Processes;
import java.util.Collections;
import java.util.Objects;
import java.util.Set;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@RequestScoped
@Processes(PhaseDefinition.class)
public class PhaseDefinitionImExporter
extends AbstractEntityImExporter<PhaseDefinition> {
@Inject
private PhaseDefinititionRepository phaseDefinitionRepo;
@Override
public Class<PhaseDefinition> getEntityClass() {
return PhaseDefinition.class;
}
@Override
protected Set<Class<? extends Exportable>> getRequiredEntities() {
return Collections.emptySet();
}
@Override
protected void saveImportedEntity(final PhaseDefinition entity) {
phaseDefinitionRepo.save(entity);
}
@Override
protected PhaseDefinition reloadEntity(final PhaseDefinition entity) {
return phaseDefinitionRepo
.findById(Objects.requireNonNull(entity).getDefinitionId())
.orElseThrow(
() -> new IllegalArgumentException(
String.format(
"PhaseDefinition entity %s not found in database.",
Objects.toString(entity)
)
)
);
}
}