use of com.enonic.xp.content.ContentId in project xp by enonic.
the class CreatedEventSyncCommand method doSync.
private void doSync(final ContentToSync content) {
try {
content.getSourceContext().runWith(() -> {
if (contentService.contentExists(content.getSourceContent().getParentPath())) {
final ContentId parentId = contentService.getByPath(content.getSourceContent().getParentPath()).getId();
content.getTargetContext().runWith(() -> {
if (content.getSourceContent().getParentPath().isRoot()) {
syncRootContent(content);
} else if (contentService.contentExists(parentId)) {
syncChildContent(parentId, content);
}
});
}
});
} catch (ContentAlreadyExistsException e) {
LOG.warn("content [{}] already exists.", content.getId());
}
}
use of com.enonic.xp.content.ContentId in project xp by enonic.
the class MoveContentCommand method doExecute.
private MoveContentsResult doExecute() {
final ContentId contentId = params.getContentId();
final Content sourceContent = getContent(contentId);
final NodePath newParentPath = ContentNodeHelper.translateContentPathToNodePath(params.getParentContentPath());
if (nodeService.nodeExists(NodePath.create(newParentPath, sourceContent.getName().toString()).build())) {
throw new ContentAlreadyMovedException(String.format("Content with name [%s] is already a child of [%s]", sourceContent.getName(), params.getParentContentPath()), sourceContent.getPath());
}
validateParentChildRelations(params.getParentContentPath(), sourceContent.getType());
final NodeId sourceNodeId = NodeId.from(contentId);
final MoveNodeParams.Builder builder = MoveNodeParams.create().nodeId(sourceNodeId).parentNodePath(newParentPath).moveListener(this);
if (params.stopInherit()) {
builder.processor(new MoveContentProcessor());
}
final Node movedNode = nodeService.move(builder.build());
final Content movedContent = translator.fromNode(movedNode, true);
return MoveContentsResult.create().setContentName(movedContent.getDisplayName()).addMoved(movedContent.getId()).build();
}
use of com.enonic.xp.content.ContentId in project xp by enonic.
the class AbstractDataSerializerTest method createFragmentComponent.
protected FragmentComponent createFragmentComponent(final String fragmentId, final String fragmentDisplayName) {
final ContentId id = ContentId.from(fragmentId);
final Content fragmentContent = Content.create().name("somefragment").displayName(fragmentDisplayName).parentPath(ContentPath.ROOT).build();
Mockito.when(contentService.getById(id)).thenReturn(fragmentContent);
return FragmentComponent.create().fragment(id).build();
}
use of com.enonic.xp.content.ContentId in project xp by enonic.
the class QueryContentHandlerTest method setupQuery.
private void setupQuery(final int count, final boolean aggs, final boolean addHighlight) {
final Contents contents = TestDataFixtures.newContents(count);
final Instant t1 = Instant.parse("2014-09-01T00:00:00.00Z");
final Instant t2 = Instant.parse("2014-10-01T00:00:00.00Z");
final Instant t3 = Instant.parse("2014-11-01T00:00:00.00Z");
final Buckets buckets1 = Buckets.create().add(Bucket.create().key("male").docCount(10).build()).add(Bucket.create().key("female").docCount(12).build()).build();
final Buckets buckets2 = Buckets.create().add(Bucket.create().key("2014-01").docCount(8).build()).add(Bucket.create().key("2014-02").docCount(10).build()).add(Bucket.create().key("2014-03").docCount(12).build()).build();
final Buckets buckets3 = Buckets.create().add(NumericRangeBucket.create().key("a").docCount(2).to(50).build()).add(NumericRangeBucket.create().key("b").docCount(4).from(50).to(100).build()).add(NumericRangeBucket.create().key("c").docCount(4).from(100).build()).build();
final Buckets buckets4 = Buckets.create().add(DateRangeBucket.create().from(t1).docCount(2).key("date range bucket key").build()).add(DateRangeBucket.create().to(t1).from(t2).docCount(5).build()).add(DateRangeBucket.create().to(t3).docCount(7).build()).build();
final BucketAggregation aggr1 = BucketAggregation.bucketAggregation("genders").buckets(buckets1).build();
final BucketAggregation aggr2 = BucketAggregation.bucketAggregation("by_month").buckets(buckets2).build();
final BucketAggregation aggr3 = BucketAggregation.bucketAggregation("price_ranges").buckets(buckets3).build();
final BucketAggregation aggr4 = BucketAggregation.bucketAggregation("my_date_range").buckets(buckets4).build();
final StatsAggregation aggr5 = StatsAggregation.create("item_count").avg(3).max(5).min(1).sum(15).count(5).build();
final Aggregations aggregations = Aggregations.from(aggr1, aggr2, aggr3, aggr4, aggr5);
final Map<ContentId, HighlightedProperties> highlight = Map.of(ContentId.from("123"), HighlightedProperties.create().add(HighlightedProperty.create().name("property1").addFragment("fragment1_1").addFragment("fragment1_2").build()).build(), ContentId.from("456"), HighlightedProperties.create().add(HighlightedProperty.create().name("property2").addFragment("fragment2_1").addFragment("fragment2_2").build()).build());
final FindContentIdsByQueryResult findResult = FindContentIdsByQueryResult.create().hits(contents.getSize()).totalHits(20).contents(contents.getIds()).aggregations(aggs ? aggregations : null).highlight(addHighlight ? highlight : null).build();
Mockito.when(this.contentService.find(Mockito.isA(ContentQuery.class))).thenReturn(findResult);
Mockito.when(this.contentService.getByIds(Mockito.isA(GetContentByIdsParams.class))).thenReturn(contents);
}
use of com.enonic.xp.content.ContentId in project xp by enonic.
the class PublishContentResultMapper method serializeFailedContent.
private void serializeFailedContent(final MapGenerator gen, final String name, final ContentIds contents) {
gen.array(name);
for (ContentId id : contents) {
gen.value(id.toString());
}
for (ContentPath path : this.contentNotFound) {
gen.value(path.toString());
}
gen.end();
}
Aggregations