@Override public void visitContainer(Container resource) { InMemoryResourceRepository.this.containers.put(resource.id(),resource); } }
static JPASlug create(String slugPath, Container container) { Matcher matcher=SLUG_PATH_PATTERN.matcher(slugPath); String path=slugPath; long version=0; if(matcher.matches()) { String strVersion = matcher.group(3); if(strVersion!=null) { String strPath = matcher.group(1); if(!strPath.isEmpty()) { path=strPath; version=Long.parseLong(strVersion); } } } return new JPASlug(container.id(),path,version); }
static InMemorySlug create(String slugPath, Container container) { Matcher matcher = SLUG_PATH_PATTERN.matcher(slugPath); String path=slugPath; long version=0; if(matcher.matches()) { String strVersion = matcher.group(3); if(strVersion!=null) { String strPath = matcher.group(1); if(!strPath.isEmpty()) { path=strPath; version=Long.parseLong(strVersion); } } } return new InMemorySlug(container.id(),path,version); } }
@Override public void visitContainer(Container resource) { DelegatedContainerSnapshot snapshot=new DelegatedContainerSnapshot(resource.id(),handlerClass(template,ContainerHandler.class)); snapshot.setParentState(ParentState.parentOf(resource)); snapshot.setPersistencyState(PersistencyState.newPersistentReferenceState(resource.id(),template)); result.set(snapshot); } }
@Test public void testCreate$simpleCornerCase() throws Exception { InMemorySlug slug=InMemorySlug.create("_", container); System.out.println(slug); assertThat(slug.preferredPath(),equalTo("_")); assertThat(slug.version(),equalTo(0L)); assertThat(slug.containerId(),equalTo(this.container.id())); }
@Test public void testCreate$compositeClash() throws Exception { InMemorySlug slug=InMemorySlug.create("slug_23_24", container); System.out.println(slug); assertThat(slug.preferredPath(),equalTo("slug_23")); assertThat(slug.version(),equalTo(24L)); assertThat(slug.containerId(),equalTo(this.container.id())); }
@Test public void testCreate$compositeCornerCaseSimpleClash() throws Exception { InMemorySlug slug=InMemorySlug.create("__23", container); System.out.println(slug); assertThat(slug.preferredPath(),equalTo("_")); assertThat(slug.version(),equalTo(23L)); assertThat(slug.containerId(),equalTo(this.container.id())); }
@Test public void testCreate$compositeCornerCaseComplexClash() throws Exception { InMemorySlug slug=InMemorySlug.create("__23_24", container); System.out.println(slug); assertThat(slug.preferredPath(),equalTo("__23")); assertThat(slug.version(),equalTo(24L)); assertThat(slug.containerId(),equalTo(this.container.id())); }
@Test public void testCreate$compositeCornerCase() throws Exception { InMemorySlug slug=InMemorySlug.create("__", container); System.out.println(slug); assertThat(slug.preferredPath(),equalTo("__")); assertThat(slug.version(),equalTo(0L)); assertThat(slug.containerId(),equalTo(this.container.id())); }
@Test public void testCreate$simpleClash() throws Exception { InMemorySlug slug=InMemorySlug.create("slug_23", container); System.out.println(slug); assertThat(slug.preferredPath(),equalTo("slug")); assertThat(slug.version(),equalTo(23L)); assertThat(slug.containerId(),equalTo(this.container.id())); }
@Test public void testCreate$regular() throws Exception { InMemorySlug slug=InMemorySlug.create("slug", container); System.out.println(slug); assertThat(slug.preferredPath(),equalTo("slug")); assertThat(slug.version(),equalTo(0L)); assertThat(slug.containerId(),equalTo(this.container.id())); }
@Test public void testCreate$simpleCornerCaseSimpleClash() throws Exception { InMemorySlug slug=InMemorySlug.create("_23", container); System.out.println(slug); assertThat(slug.preferredPath(),equalTo("_23")); assertThat(slug.version(),equalTo(0L)); assertThat(slug.containerId(),equalTo(this.container.id())); }
@Test public void testCreate$simpleCornerCaseComplexClash() throws Exception { InMemorySlug slug=InMemorySlug.create("_23_24", container); System.out.println(slug); assertThat(slug.preferredPath(),equalTo("_23")); assertThat(slug.version(),equalTo(24L)); assertThat(slug.containerId(),equalTo(this.container.id())); }
private String generatePathForMember(Resource child, Container parent, String desiredPath) throws EndpointNotFoundException { Member member = parent.findMember(child.id()); if(member!=null) { Endpoint endpoint=getResourceEndpoint(parent.id()); ContainerTemplate parentTemplate=this.templateManagementService.templateOfId(parent.id().templateId(),ContainerTemplate.class); if(parentTemplate==null) { throw new IllegalStateException("Could not find template resource '"+parent+"'"); } String slugPath=getSlugPath(parent, desiredPath); return PathBuilder. create(). addSegment(endpoint.path()). addSegment(parentTemplate.memberPath().or("")). addSegment(member.number()). addSegment(slugPath). build(); } return null; }
private URI getIndirectId(Container container, DataSet dataSet) { TemplateIntrospector introspector= TemplateIntrospector. newInstance( this.templateManagementService. templateOfId(container.id().templateId())); if(!introspector.isIndirectContainer()) { return null; } URI insertedContentRelation=introspector.getInsertedContentRelation(); IndirectIdCollector collector= new IndirectIdCollector( false, insertedContentRelation, getInsertedContentRelationProperty(dataSet,insertedContentRelation)); return collector.getIndirectId(); }
@Override public void execute(ResourceRepository sut) { Resource result1 = sut.resourceOfId(resourceId); debug("Retrieving resource {%s}: %s",resourceId,result1); Container result2 = sut.containerOfId(containerId); debug("Retrieving container {%s}: %s",containerId,result2); Resource result3 = sut.resourceById(memberId,Resource.class); debug("Retrieving member resource {%s}: %s",memberId,result3); sut.remove(result2); debug("Deleted resource {%s}",result2.id()); Resource result4 = sut.resourceById(attachmentId,Resource.class); debug("Retrieving attached resource {%s}: %s",attachmentId,result4); Attachment attachment = result1.findAttachment(result4.id()); debug("Retrieving attachment {%s}: %s",result4.id(),attachment); result1.detach(attachment); debug("Detached resource {%s}",attachment.id()); sut.remove(result4); debug("Deleted resource {%s}",result4.id()); } }