use of com.enonic.xp.content.ContentId in project xp by enonic.
the class ProjectContentEventListenerTest method testSyncDuplicateWithExistedLocalName.
@Test
public void testSyncDuplicateWithExistedLocalName() throws InterruptedException {
targetContext.callWith(() -> createContent(ContentPath.ROOT, "localName-copy"));
targetContext.callWith(() -> createContent(ContentPath.ROOT, "localName-copy-1"));
final Content sourceContent = sourceContext.callWith(() -> createContent(ContentPath.ROOT, "localName"));
handleEvents();
final ContentId duplicatedContentId = sourceContext.callWith(() -> contentService.duplicate(DuplicateContentParams.create().contentId(sourceContent.getId()).build()).getDuplicatedContents().first());
handleEvents();
targetContext.runWith(() -> {
final Content duplicatedTargetContent = contentService.getById(duplicatedContentId);
assertEquals("localName-copy-1-1", duplicatedTargetContent.getName().toString());
assertEquals(3, duplicatedTargetContent.getInherit().size());
assertFalse(duplicatedTargetContent.getInherit().contains(ContentInheritType.NAME));
});
}
use of com.enonic.xp.content.ContentId in project xp by enonic.
the class ProjectContentEventListenerTest method testDuplicateInherited.
@Test
public void testDuplicateInherited() throws InterruptedException {
final Content sourceContent = sourceContext.callWith(() -> createContent(ContentPath.ROOT, "localName"));
handleEvents();
final ContentId duplicatedContentId = targetContext.callWith(() -> contentService.duplicate(DuplicateContentParams.create().contentId(sourceContent.getId()).build()).getDuplicatedContents().first());
targetContext.runWith(() -> {
final Content duplicatedTargetContent = contentService.getById(duplicatedContentId);
assertEquals("localName-copy", duplicatedTargetContent.getName().toString());
assertTrue(duplicatedTargetContent.getInherit().isEmpty());
});
}
use of com.enonic.xp.content.ContentId in project xp by enonic.
the class ArchiveContentHandler method executeArchive.
private List<String> executeArchive() {
final ContentId sourceId;
final ContentPath sourcePath;
if (this.content.startsWith("/")) {
// source is path
sourcePath = ContentPath.from(this.content);
final Content sourceContent = contentService.getByPath(sourcePath);
sourceId = sourceContent.getId();
} else {
// source is key
sourceId = ContentId.from(this.content);
}
return archive(sourceId);
}
use of com.enonic.xp.content.ContentId in project xp by enonic.
the class PublishContentHandler method publishContent.
private PublishContentResultMapper publishContent() {
final List<ContentPath> contentNotFound = new ArrayList<>();
final List<ContentId> contentIds = new ArrayList<>();
for (final String key : this.keys) {
if (key.startsWith("/")) {
final ContentPath path = ContentPath.from(key);
final Content content = getByPath(path);
if (content != null) {
contentIds.add(content.getId());
} else {
contentNotFound.add(path);
}
} else {
contentIds.add(ContentId.from(key));
}
}
final PushContentParams.Builder builder = PushContentParams.create();
builder.contentIds(ContentIds.from(contentIds));
builder.target(Branch.from(targetBranch));
if (this.contentPublishInfo != null) {
final Object from = this.contentPublishInfo.get("from");
final Object to = this.contentPublishInfo.get("to");
final ContentPublishInfo contentPublishInfo = ContentPublishInfo.create().from(from == null ? null : Instant.parse((String) from)).to(to == null ? null : Instant.parse((String) to)).build();
builder.contentPublishInfo(contentPublishInfo);
}
if (this.excludeChildrenIds != null) {
builder.excludeChildrenIds(ContentIds.from(this.excludeChildrenIds));
}
if (this.includeChildren != null) {
builder.includeChildren(this.includeChildren);
}
if (this.includeDependencies != null) {
builder.includeDependencies(includeDependencies);
}
builder.message(message);
final PublishContentResult result = this.contentService.publish(builder.build());
return result != null ? new PublishContentResultMapper(result, contentNotFound) : null;
}
use of com.enonic.xp.content.ContentId in project xp by enonic.
the class RestoreContentHandler method executeRestore.
private List<String> executeRestore() {
final ContentId sourceId;
final ContentPath sourcePath;
if (this.content.startsWith("/")) {
// source is path
sourcePath = ContentPath.from(this.content);
final Content sourceContent = contentService.getByPath(sourcePath);
sourceId = sourceContent.getId();
} else {
// source is key
sourceId = ContentId.from(this.content);
}
final ContentPath pathToRestore = nullToEmpty(path).isBlank() ? null : ContentPath.from(path);
return restore(sourceId, pathToRestore);
}
Aggregations