diff --git a/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java b/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java
index 6489c54b353e333c3c8ef9f6194fa71e61016c09..c39937e913552f16df49812739ff7f8a4c6da137 100644
--- a/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java
+++ b/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java
@@ -124,6 +124,16 @@ public class FDOApiImpl extends BaseController implements FdoApi {
             resolved.getPID(), resolved.isFDO());
     Links self = linkSelf(getOperations(getClass()).resolvePID(pid[0], pid[1]));
 
+    if (resolved.isFDO()) {
+      FDO fdo = resolved.toFDO();
+      if (fdo.getData() != null) {
+        data.setDataPid(fdo.getData().getPID());
+      }
+      if (fdo.getMetadata() != null) {
+        data.setMetadataPid(fdo.getMetadata().getPID());
+      }
+    }
+
     return new ResolvePID200Response().data(data).links(self);
   }
 }
diff --git a/application/src/main/java/com/indiscale/fdo/manager/service/mock/MockRepositoryFactory.java b/application/src/main/java/com/indiscale/fdo/manager/service/mock/MockRepositoryFactory.java
index fb61effba003eb0d0a80656821d6e1980ee13b7a..515ffbf1262a355c691e3f79e8e4585a34b6200d 100644
--- a/application/src/main/java/com/indiscale/fdo/manager/service/mock/MockRepositoryFactory.java
+++ b/application/src/main/java/com/indiscale/fdo/manager/service/mock/MockRepositoryFactory.java
@@ -1,32 +1,103 @@
 package com.indiscale.fdo.manager.service.mock;
 
+import com.google.gson.JsonObject;
 import com.indiscale.fdo.DelegatorFdo;
+import com.indiscale.fdo.api.Data;
+import com.indiscale.fdo.api.DataProfile;
 import com.indiscale.fdo.api.FDO;
 import com.indiscale.fdo.api.FdoComponent;
 import com.indiscale.fdo.api.FdoUpdate;
+import com.indiscale.fdo.api.Metadata;
+import com.indiscale.fdo.api.MetadataProfile;
 import com.indiscale.fdo.api.RepositoryConfig;
 import com.indiscale.fdo.api.RepositoryConnection;
 import com.indiscale.fdo.api.RepositoryConnectionFactory;
 import com.indiscale.fdo.api.RepositoryType;
 import com.indiscale.fdo.api.TokenAuthenticationInfo;
 import com.indiscale.fdo.api.ValidationException;
+import java.io.IOException;
+import java.io.InputStream;
 import java.util.UUID;
 
 class MockRepository implements RepositoryConnection {
 
+  public abstract static class ComponentDelegator<T extends FdoComponent> implements FdoComponent {
+
+    protected T delegate;
+    private String id;
+
+    public ComponentDelegator(T data) {
+      this.id = "some.prefix/" + UUID.randomUUID().toString();
+      this.delegate = data;
+    }
+
+    @Override
+    public String getPID() {
+      return id;
+    }
+
+    @Override
+    public InputStream getInputStream() throws IOException {
+      return delegate.getInputStream();
+    }
+
+    @Override
+    public JsonObject getAttributes() {
+      return delegate.getAttributes();
+    }
+  }
+
+  public static class MockMetadata extends ComponentDelegator<Metadata> implements Metadata {
+
+    public MockMetadata(Metadata metadata) {
+      super(metadata);
+    }
+
+    @Override
+    public MetadataProfile getProfile() {
+      return delegate.getProfile();
+    }
+  }
+
+  public static class MockData extends ComponentDelegator<Data> implements Data {
+
+    public MockData(Data data) {
+      super(data);
+    }
+
+    @Override
+    public DataProfile getProfile() {
+      return delegate.getProfile();
+    }
+  }
+
   public static class MockFDO extends DelegatorFdo {
 
     private final String pid;
+    private MockData data;
+    private MockMetadata metadata;
 
     public MockFDO(FDO fdo) {
       super(fdo);
       pid = "some.prefix/" + UUID.randomUUID().toString();
+      data = new MockData(fdo.getData());
+      metadata = new MockMetadata(fdo.getMetadata());
     }
 
     @Override
     public String getPID() {
       return pid;
     }
+
+    @Override
+    public Data getData() {
+      return data;
+    }
+
+    @Override
+    public Metadata getMetadata() {
+      return metadata;
+    }
   }
 
   private final String id;
diff --git a/pom.xml b/pom.xml
index 9743308bfda70d878dc3ee3a3327652e3fa3033f..5884ad8a6b85f94819d13541ff74c6703031da08 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
   <groupId>com.indiscale.fdo</groupId>
   <artifactId>fdo-manager-service</artifactId>
   <packaging>pom</packaging>
-  <version>0.1.0-rc5</version>
+  <version>0.1.0-rc6</version>
   <modules>
     <module>api</module>
     <module>application</module>