You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2014/06/24 16:51:02 UTC

svn commit: r1605101 - in /sling/trunk/tooling/ide: eclipse-test/src/org/apache/sling/ide/test/impl/ContentImportTest.java impl-vlt/src/org/apache/sling/ide/impl/vlt/serialization/VltSerializationDataBuilder.java

Author: rombert
Date: Tue Jun 24 14:51:01 2014
New Revision: 1605101

URL: http://svn.apache.org/r1605101
Log:
SLING-3694 - Full coverage nodes are imported without the XML extension

Modified:
    sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/ContentImportTest.java
    sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/serialization/VltSerializationDataBuilder.java

Modified: sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/ContentImportTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/ContentImportTest.java?rev=1605101&r1=1605100&r2=1605101&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/ContentImportTest.java (original)
+++ sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/ContentImportTest.java Tue Jun 24 14:51:01 2014
@@ -276,6 +276,50 @@ public class ContentImportTest {
 
     }
 
+    @Test
+    public void importFullCoverageNode() throws Exception {
+
+        // create faceted project
+        IProject contentProject = projectRule.getProject();
+
+        ProjectAdapter project = new ProjectAdapter(contentProject);
+        project.addNatures(JavaCore.NATURE_ID, "org.eclipse.wst.common.project.facet.core.nature");
+
+        // install bundle facet
+        project.installFacet("sling.content", "1.0");
+
+        wstServer.waitForServerToStart();
+
+        ServerAdapter server = new ServerAdapter(wstServer.getServer());
+        server.installModule(contentProject);
+
+        project.createVltFilterWithRoots("/content/test-root");
+        project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/test-root/hello.txt"),
+                new ByteArrayInputStream("hello, world".getBytes()));
+
+        // create server-side content
+        RepositoryAccessor repo = new RepositoryAccessor(config);
+        repo.doWithSession(new SessionRunnable<Void>() {
+
+            @Override
+            public Void doWithSession(Session session) throws RepositoryException {
+                Node configNode = session.getRootNode().addNode(
+                        "content/test-root/org.apache.sling.example.Component.config", "sling:OsgiConfig");
+                configNode.setProperty("enabled", Boolean.TRUE.toString());
+
+                session.save();
+
+                return null;
+
+            }
+        });
+
+        runImport(contentProject);
+
+        assertThat(contentProject,
+                hasFile("jcr_root/content/test-root/org.apache.sling.example.Component.config.xml"));
+    }
+
     @Before
     public void setUp() throws Exception {
         RepositoryAccessor repo = new RepositoryAccessor(config);

Modified: sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/serialization/VltSerializationDataBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/serialization/VltSerializationDataBuilder.java?rev=1605101&r1=1605100&r2=1605101&view=diff
==============================================================================
--- sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/serialization/VltSerializationDataBuilder.java (original)
+++ sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/serialization/VltSerializationDataBuilder.java Tue Jun 24 14:51:01 2014
@@ -127,11 +127,8 @@ public class VltSerializationDataBuilder
                         + File.separatorChar + PlatformNameFormat.getPlatformPath(wrapper.aggregate.getRelPath());
             }
 
-            Activator.getDefault().getPluginLogger()
-                    .trace("Got location {0} for path {1}", fileOrFolderPathHint, resource.getPath());
             String nameHint = PlatformNameFormat.getPlatformName(wrapper.aggregate.getName());
 
-
             NodeType[] mixinNodeTypes = wrapper.aggregate.getNode().getMixinNodeTypes();
             List<String> mixinNodeTypeNames = new ArrayList<String>(mixinNodeTypes.length);
             for (NodeType nodeType : mixinNodeTypes)
@@ -144,8 +141,14 @@ public class VltSerializationDataBuilder
             if (resource.getPath().equals("/") || serializationKind == SerializationKind.METADATA_PARTIAL
                     || serializationKind == SerializationKind.FILE || serializationKind == SerializationKind.FOLDER) {
                 nameHint = Constants.DOT_CONTENT_XML;
+            } else if (serializationKind == SerializationKind.METADATA_FULL) {
+                nameHint += ".xml";
+                fileOrFolderPathHint += ".xml";
             }
 
+            Activator.getDefault().getPluginLogger()
+                    .trace("Got location {0} for path {1}", fileOrFolderPathHint, resource.getPath());
+
             Aggregator aggregator = fs.getAggregateManager().getAggregator(wrapper.aggregate.getNode(), null);
             if (aggregator instanceof FileAggregator) {
                 // TODO - copy-pasted from FileAggregator, and really does not belong here...