]> source.dussan.org Git - archiva.git/commitdiff
Cleanup of dependencies for maven-model
authorMartin Stockhammer <martin_s@apache.org>
Tue, 4 Feb 2020 20:31:49 +0000 (21:31 +0100)
committerMartin Stockhammer <martin_s@apache.org>
Tue, 4 Feb 2020 20:31:49 +0000 (21:31 +0100)
archiva-modules/archiva-maven/archiva-maven-common/pom.xml
archiva-modules/archiva-maven/archiva-maven-model/pom.xml
archiva-modules/archiva-maven/archiva-maven-model/src/main/java/org/apache/archiva/maven2/model/TreeEntry.java
archiva-modules/archiva-maven/archiva-maven-model/src/test/java/org/apache/archiva/maven2/model/ModelTest.java [new file with mode: 0644]
archiva-modules/archiva-web/archiva-rest/archiva-rest-api/pom.xml
status-dep.txt

index d5153f8c541aac8fa41c5c2a4817d549ec06cc7a..90fdcfa5bb78dd37ada91525e1074e8b3acce141 100644 (file)
       <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-provider-api</artifactId>
     </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-context</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-beans</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>javax.inject</groupId>
+      <artifactId>javax.inject</artifactId>
+    </dependency>
+
+    <!--
     <dependency>
       <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-file</artifactId>
       <scope>test</scope>
     </dependency>
+    -->
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
index 2e8d16e1e1fcd6bf97a14a9fcd20b1d7645aaae6..882edcee970860bee9334ad2a296f5836a511efc 100644 (file)
   </properties>
 
   <dependencies>
+
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <version>${jackson.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.module</groupId>
+      <artifactId>jackson-module-jaxb-annotations</artifactId>
+      <version>${jackson.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.json</groupId>
+      <artifactId>json</artifactId>
+      <version>20190722</version>
+    </dependency>
+    <!--
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-annotations</artifactId>
     </dependency>
+    -->
   </dependencies>
 
 </project>
index 7a0db88e79bef83b3ff0232daecda4acf2e58ba1..23a3acf5c3e3559996447fb278bcc018f73fb29a 100644 (file)
@@ -19,9 +19,8 @@ package org.apache.archiva.maven2.model;
  */
 
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
@@ -38,7 +37,6 @@ public class TreeEntry
 
     private Artifact artifact;
 
-    @JsonIgnore
     private TreeEntry parent;
 
     public TreeEntry()
@@ -72,13 +70,12 @@ public class TreeEntry
         this.childs = childs;
     }
 
-    @JsonIgnore
+    @XmlTransient
     public TreeEntry getParent()
     {
         return parent;
     }
 
-    @JsonIgnore
     public void setParent( TreeEntry parent )
     {
         this.parent = parent;
diff --git a/archiva-modules/archiva-maven/archiva-maven-model/src/test/java/org/apache/archiva/maven2/model/ModelTest.java b/archiva-modules/archiva-maven/archiva-maven-model/src/test/java/org/apache/archiva/maven2/model/ModelTest.java
new file mode 100644 (file)
index 0000000..75c4cc2
--- /dev/null
@@ -0,0 +1,72 @@
+package org.apache.archiva.maven2.model;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
+import org.json.JSONObject;
+import org.junit.jupiter.api.Test;
+
+import javax.xml.bind.JAXBException;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.Arrays;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+
+public class ModelTest
+{
+    @Test
+    void testTreeEntry() throws JAXBException, IOException
+    {
+        TreeEntry parent = new TreeEntry( );
+        TreeEntry entry = new TreeEntry( );
+        entry.setParent( parent );
+        Artifact artifact1 = new Artifact( );
+        artifact1.setGroupId( "test.group" );
+        artifact1.setArtifactId( "artifact1" );
+        artifact1.setVersion( "1.0" );
+        entry.setArtifact( artifact1 );
+
+        TreeEntry child1 = new TreeEntry( );
+        TreeEntry child2 = new TreeEntry( );
+        child1.setParent( entry );
+        child2.setParent( entry );
+        Artifact artifact2 = new Artifact( );
+        artifact2.setGroupId( "test.group" );
+        artifact2.setArtifactId( "artifact1" );
+        artifact2.setVersion( "1.1" );
+        child1.setArtifact( artifact2 );
+        child2.setArtifact( artifact2 );
+        entry.setChilds( Arrays.asList( child1, child2) );
+
+        ObjectMapper objectMapper = new ObjectMapper( );
+        objectMapper.registerModule( new JaxbAnnotationModule( ) );
+        StringWriter sw = new StringWriter( );
+        objectMapper.writeValue( sw, entry );
+
+        JSONObject js = new JSONObject( sw.toString() );
+        assertFalse( js.has( "parent" ) );
+        assertTrue( js.has( "childs" ) );
+        assertEquals(2, js.getJSONArray( "childs" ).length());
+        assertTrue( js.has( "artifact" ) );
+
+    }
+}
index 0592cc541d693c34cadf027947bfcae868359270..e50ff83e7d6acc43e593ce5c788e628a1d86f462 100644 (file)
       <artifactId>cxf-rt-frontend-jaxrs</artifactId>
     </dependency>
 
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-annotations</artifactId>
+    </dependency>
+
   </dependencies>
 
   <build>
index 572cae9834c5e7471e62b1072c7110987bdf7d69..6b4ad53090b38a0afca32cb476c1422a296d5337 100644 (file)
@@ -34,6 +34,10 @@ archiva-modules
     archiva-scheduler-repository-api
     archiva-scheduler-repository
     archiva-scheduler-indexer
+  metadata
+    metadata-statistics-api
+    metadata-repository-api
+    metadata-model