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