private String toString(ResourceId resourceId) { Class<?> handler=resolveHandler(resourceId); if(handler!=null) { return String.format("named '%s' with handler class '%s'",resourceId.name(),handler.getName()); } else { return String.format("named '%s' of unknown template '%s'",resourceId.name(),resourceId.templateId()); } }
@Override public final Name<?> name() { return resourceId().name(); }
public ResourceSnapshot attach(final WriteSession writeSession, final Resource resource, final Class<? extends ResourceHandler> handlerClass) { return writeSession.find(ResourceSnapshot.class, resource.id().name(), handlerClass); }
private boolean isSelf(ManagedIndividualId id) { ResourceId resourceId = super.endpoint().resourceId(); return id.managerId().equals(resourceId.templateId()) && id.name().equals(resourceId.name()); }
private void logAction(final Stage stage, final Action action, final org.ldp4j.application.kernel.resource.Resource resource) { LOGGER.debug(String.format(">> %s %s(%s)",stage.prefix,action,resource.id().name())); }
private void assemble() { if(this.cacheAvailable) { return; } this.cacheAvailable=true; if(this.nameValue==null || this.templateId==null) { return; } this.cachedId= ResourceId. createId( Key.fromBase64(this.nameValue), this.templateId); // Self healing... this.nameType=nameTypeOf(this.cachedId.name()); }
private Resource verifyResource(Name<String> name, Class<? extends ResourceHandler> clazz) { Resource resource = findResource(name, clazz); assertThat(resource,notNullValue()); assertThat((Object)resource.id().name(),equalTo((Object)name)); return resource; }
public Value resourceSurrogate(PublicResource member) { ResourceId resourceId = ((DefaultPublicResource)member).id(); ManagedIndividualId surrogateId = ManagedIndividualId.createId(resourceId.name(), resourceId.templateId()); return this.dataSet.individualOfId(surrogateId); }
static Key newInstance(ResourceId id) { if(id==null) { return null; } Name<?> name = id.name(); String nameType=nameTypeOf(name); String nameValue=Key.toBase64(name); return new Key(id,id.templateId(),nameType,nameValue); }
protected DefaultExistingPublicResource(DefaultApplicationContext applicationContext, Endpoint endpoint) { super(applicationContext,endpoint); this.individualId= ManagedIndividualId. createId( id().name(), id().templateId()); }
public ManagedIndividual newIndividual(PublicResource resource) { ResourceId resourceId = ((DefaultPublicResource)resource).id(); ManagedIndividualId id = ManagedIndividualId.createId(resourceId.name(), resourceId.templateId()); return newIndividual(id); }
@Override public Resource call() throws Exception { Resource result=sut.createResource(resource,initialData,getSessionConfiguration(resource)); assertThat(result,notNullValue()); assertThat((Object)result.id().name(),equalTo((Object)id)); assertThat(result.id().templateId(),equalTo(BookHandler.ID)); assertThat(resourceHandler.hasResource(resourceName),equalTo(false)); return result; } }
public static ManagedIndividualId managedIndividualId(ResourceId resourceId) { return ManagedIndividualId.createId(resourceId.name(), resourceId.templateId()); }
@Override protected DataSet metadata() { DataSet metadata = DataSets. createDataSet(id().name()); Context ctx = new Context(metadata); ManagedIndividualId id = individualId(); fillInMetadata( ContentPreferences.defaultPreferences(), ctx.newIndividual(id), ctx); return metadata; }
@Override public final DataSet entity(ContentPreferences contentPreferences) throws ApplicationExecutionException { DataSet dataSet=resourceData(contentPreferences); DataSet representation = DataSets.createDataSet(id().name()); DataSets. merge( dataSet, representation); Context ctx = new Context(representation); fillInMetadata( contentPreferences, ctx.newIndividual(individualId()), ctx); return representation; }
@SuppressWarnings("rawtypes") private ConstraintReportTransformer(Resource resource, ConstraintReport report) { this.report = report; ManagedIndividualId tId = ManagedIndividualId.createId(resource.id().name(), resource.id().templateId()); ManagedIndividualId rId = ManagedIndividualId.createId(URI.create("?ldp:constrainedBy="+report.id().failureId()), tId); this.dataset=DataSets.createDataSet(rId.name()); this.constraintReport= dataset.individual(rId, ManagedIndividual.class); this.targetResource = dataset.individual(tId, ManagedIndividual.class); this.failedRequest=dataset.individual((Name)NamingScheme.getDefault().name("request"), LocalIndividual.class); }
@Test public void testResolverSnapshotResolver$resolveSnapshot$engineFailure() throws Exception { final URI base = URI.create("http://www.examples.org/base/"); final ResourceId resourceId = ResourceId.createId(NamingScheme.getDefault().name("name"),"template"); new Expectations() {{ snapshot.name();result=resourceId.name(); snapshot.templateId();result=resourceId.templateId(); }}; new MockUp<ApplicationEngine>() { @Mock public ApplicationEngine engine() throws ApplicationEngineException { throw new ApplicationEngineException("FAILURE"); } }; CoreRuntimeDelegate sut=new CoreRuntimeDelegate(); ResourceSnapshotResolver resolver = sut.createResourceResolver(base, session); try { assertThat(resolver.resolve(snapshot),nullValue()); fail("Should not resolve snapshot if engine fails"); } catch (SnapshotResolutionException e) { assertThat(e.getMessage(),equalTo("Could not resolve endpoint for resource '"+resourceId+"'")); } }
@Test public void testResolverSnapshotResolver$resolveSnapshot$resourceGone() throws Exception { final URI base = URI.create("http://www.examples.org/base/"); final ResourceId resourceId = ResourceId.createId(NamingScheme.getDefault().name("name"),"template"); new Expectations() {{ snapshot.name();result=resourceId.name(); snapshot.templateId();result=resourceId.templateId(); engine.unwrap(DefaultApplicationEngine.class);result=engine; engine.activeContext();result=context; context.resolveResource(resourceId);result=endpoint; endpoint.deleted();result=new Date(); }}; new MockUp<ApplicationEngine>() { @Mock public ApplicationEngine engine() throws ApplicationEngineException { return engine; } }; CoreRuntimeDelegate sut=new CoreRuntimeDelegate(); ResourceSnapshotResolver resolver = sut.createResourceResolver(base, session); assertThat(resolver.resolve(snapshot),nullValue()); }
@Test public void testResolverSnapshotResolver$resolveSnapshot$happyPath() throws Exception { final URI base = URI.create("http://www.examples.org/base/"); final String path="resource/path/"; final ResourceId resourceId = ResourceId.createId(NamingScheme.getDefault().name("name"),"template"); new Expectations() {{ snapshot.name();result=resourceId.name(); snapshot.templateId();result=resourceId.templateId(); engine.unwrap(DefaultApplicationEngine.class);result=engine; engine.activeContext();result=context; context.resolveResource(resourceId);result=endpoint; endpoint.deleted();result=null; endpoint.path();result=path; }}; new MockUp<ApplicationEngine>() { @Mock public ApplicationEngine engine() throws ApplicationEngineException { return engine; } }; CoreRuntimeDelegate sut=new CoreRuntimeDelegate(); ResourceSnapshotResolver resolver = sut.createResourceResolver(base, session); assertThat(resolver.resolve(snapshot),equalTo(base.resolve(path))); }
@Test public void testResolverSnapshotResolver$resolveSnapshot$resourceNotfound() throws Exception { final URI base = URI.create("http://www.examples.org/base/"); final ResourceId resourceId = ResourceId.createId(NamingScheme.getDefault().name("name"),"template"); new Expectations() {{ snapshot.name();result=resourceId.name(); snapshot.templateId();result=resourceId.templateId(); engine.unwrap(DefaultApplicationEngine.class);result=engine; engine.activeContext();result=context; context.resolveResource(resourceId);result=null; }}; new MockUp<ApplicationEngine>() { @Mock public ApplicationEngine engine() throws ApplicationEngineException { return engine; } }; CoreRuntimeDelegate sut=new CoreRuntimeDelegate(); ResourceSnapshotResolver resolver = sut.createResourceResolver(base, session); assertThat(resolver.resolve(snapshot),nullValue()); }