Bug fixes for exporters
git-svn-id: https://svn.libreccm.org/ccm/trunk@5729 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
bcccc4cfce
commit
64b2ddb5c6
|
|
@ -6,6 +6,7 @@ import com.arsdigita.cms.ContentTypeCollection;
|
|||
import com.arsdigita.cms.Folder;
|
||||
import com.arsdigita.cms.lifecycle.LifecycleDefinition;
|
||||
import com.arsdigita.cms.lifecycle.LifecycleDefinitionCollection;
|
||||
import com.arsdigita.kernel.KernelConfig;
|
||||
import com.arsdigita.kernel.Role;
|
||||
import com.arsdigita.kernel.RoleCollection;
|
||||
import com.arsdigita.workflow.simple.Task;
|
||||
|
|
@ -62,18 +63,25 @@ public class ContentSectionsExporter
|
|||
jsonGenerator.writeStringField("xmlGeneratorClass",
|
||||
section.getXMLGeneratorClassName());
|
||||
|
||||
jsonGenerator.writeArrayFieldStart("roles");
|
||||
final RoleCollection roles = section.getGroup().getRoles();
|
||||
while (roles.next()) {
|
||||
if (section.getGroup() != null) {
|
||||
jsonGenerator.writeArrayFieldStart("roles");
|
||||
final RoleCollection roles = section.getGroup().getRoles();
|
||||
while (roles.next()) {
|
||||
|
||||
final Role role = roles.getRole();
|
||||
final String roleUuid = generateUuid(role);
|
||||
jsonGenerator.writeString(roleUuid);
|
||||
final Role role = roles.getRole();
|
||||
final String roleUuid = generateUuid(role);
|
||||
jsonGenerator.writeString(roleUuid);
|
||||
}
|
||||
jsonGenerator.writeEndArray();
|
||||
}
|
||||
jsonGenerator.writeEndArray();
|
||||
|
||||
jsonGenerator.writeStringField("defaultLocale",
|
||||
section.getDefaultLocale().toString());
|
||||
if (section.getDefaultLocale() == null) {
|
||||
jsonGenerator.writeStringField(
|
||||
"defaultLocale", KernelConfig.getConfig().getDefaultLanguage());
|
||||
} else {
|
||||
jsonGenerator.writeStringField(
|
||||
"defaultLocale", section.getDefaultLocale().toString());
|
||||
}
|
||||
|
||||
jsonGenerator.writeArrayFieldStart("contentTypes");
|
||||
final ContentTypeCollection types = section.getContentTypes();
|
||||
|
|
|
|||
|
|
@ -24,8 +24,10 @@ public class FoldersExporter extends AbstractCcmObjectsExporter<Folder> {
|
|||
jsonGenerator.writeStringField("name", folder.getName());
|
||||
|
||||
final ContentSection section = folder.getContentSection();
|
||||
final String sectionUuid = generateUuid(section);
|
||||
jsonGenerator.writeStringField("contentSection", sectionUuid);
|
||||
if (section != null) {
|
||||
final String sectionUuid = generateUuid(section);
|
||||
jsonGenerator.writeStringField("contentSection", sectionUuid);
|
||||
}
|
||||
|
||||
jsonGenerator.writeObjectFieldStart("title");
|
||||
jsonGenerator.writeStringField(
|
||||
|
|
@ -37,9 +39,11 @@ public class FoldersExporter extends AbstractCcmObjectsExporter<Folder> {
|
|||
jsonGenerator.writeBooleanField("visible", true);
|
||||
jsonGenerator.writeBooleanField("abstractCategory", true);
|
||||
|
||||
jsonGenerator.writeStringField(
|
||||
"parentCategory",
|
||||
generateUuid(folder.getParent()));
|
||||
if (folder.getParent() != null) {
|
||||
jsonGenerator.writeStringField(
|
||||
"parentCategory",
|
||||
generateUuid(folder.getParent()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,9 +31,7 @@ public class LifecyclesExporter extends AbstractDomainObjectsExporter<Lifecycle>
|
|||
|
||||
final String uuid = generateUuid(lifecycle);
|
||||
|
||||
final Path targetFilePath = targetDir
|
||||
.resolve("org.libreccm.lifecycle.Lifecycle")
|
||||
.resolve(String.format("%s.json", uuid));
|
||||
final Path targetFilePath = generateTargetFilePath(targetDir, uuid);
|
||||
final File targetFile = targetFilePath.toFile();
|
||||
|
||||
final JsonFactory jsonFactory = new JsonFactory();
|
||||
|
|
@ -57,12 +55,14 @@ public class LifecyclesExporter extends AbstractDomainObjectsExporter<Lifecycle>
|
|||
LocalDateTime.ofInstant(
|
||||
lifecycle.getStartDate().toInstant(),
|
||||
ZoneId.systemDefault())));
|
||||
jsonGenerator.writeStringField(
|
||||
"endDateTime",
|
||||
dateTimeFormatter.format(
|
||||
LocalDateTime.ofInstant(
|
||||
lifecycle.getEndDate().toInstant(),
|
||||
ZoneId.systemDefault())));
|
||||
if (lifecycle.getEndDate() != null) {
|
||||
jsonGenerator.writeStringField(
|
||||
"endDateTime",
|
||||
dateTimeFormatter.format(
|
||||
LocalDateTime.ofInstant(
|
||||
lifecycle.getEndDate().toInstant(),
|
||||
ZoneId.systemDefault())));
|
||||
}
|
||||
|
||||
jsonGenerator.writeStringField("listener",
|
||||
lifecycle.getListenerClassName());
|
||||
|
|
@ -108,4 +108,5 @@ public class LifecyclesExporter extends AbstractDomainObjectsExporter<Lifecycle>
|
|||
return "org.librecms.lifecycle.Lifecycle";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -74,8 +74,11 @@ public class PhaseDefinitionsExporter
|
|||
|
||||
jsonGenerator.writeNumberField("defaultDelay",
|
||||
phaseDefinition.getDefaultDelay());
|
||||
jsonGenerator.writeNumberField("defaultDuration",
|
||||
phaseDefinition.getDefaultDuration());
|
||||
if (phaseDefinition.getDefaultDuration() != null) {
|
||||
jsonGenerator.writeNumberField(
|
||||
"defaultDuration",
|
||||
phaseDefinition.getDefaultDuration());
|
||||
}
|
||||
|
||||
jsonGenerator.writeStringField("defaultListener",
|
||||
phaseDefinition.getDefaultListener());
|
||||
|
|
|
|||
|
|
@ -44,9 +44,7 @@ public class PhasesExporter extends AbstractDomainObjectsExporter<Phase> {
|
|||
final Path targetDir) {
|
||||
|
||||
final String uuid = generateUuid(phase);
|
||||
final Path targetFilePath = targetDir
|
||||
.resolve("org.librecms.lifecycle.Phase")
|
||||
.resolve(String.format("%s.json", uuid));
|
||||
final Path targetFilePath = generateTargetFilePath(targetDir, uuid);
|
||||
final File targetFile = targetFilePath.toFile();
|
||||
|
||||
final JsonFactory jsonFactory = new JsonFactory();
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public abstract class AbstractResourcesExporter<T extends Resource>
|
|||
*
|
||||
* @param resource The {@link Resource} to export.
|
||||
* @param jsonGenerator The {@link JsonGenerator} to use.
|
||||
*
|
||||
* @throws java.io.IOException
|
||||
*/
|
||||
@Override
|
||||
|
|
@ -45,8 +46,10 @@ public abstract class AbstractResourcesExporter<T extends Resource>
|
|||
jsonGenerator.writeStringField("resourceType", typeUuid);
|
||||
|
||||
final Resource parent = resource.getParentResource();
|
||||
final String parentUuid = generateUuid(parent);
|
||||
jsonGenerator.writeStringField("parent", parentUuid);
|
||||
if (parent != null) {
|
||||
final String parentUuid = generateUuid(parent);
|
||||
jsonGenerator.writeStringField("parent", parentUuid);
|
||||
}
|
||||
|
||||
exportResourceProperties(resource, jsonGenerator);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import java.nio.charset.StandardCharsets;
|
|||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
|
|
@ -94,6 +95,8 @@ public abstract class AbstractDomainObjectsExporter<T extends DomainObject> {
|
|||
*/
|
||||
protected final String generateUuid(final DomainObject forDomainObject) {
|
||||
|
||||
Objects.requireNonNull(forDomainObject);
|
||||
|
||||
final String uuidSource = String.format(
|
||||
"%s/%s",
|
||||
webConfig.getSiteName(),
|
||||
|
|
|
|||
Loading…
Reference in New Issue