You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by jo...@apache.org on 2011/02/22 07:28:25 UTC

svn commit: r1073235 - in /incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project: ./ src/main/java/npanday/dao/ src/main/java/npanday/dao/impl/ src/test/java/npanday/dao/impl/

Author: jocaba
Date: Tue Feb 22 07:28:25 2011
New Revision: 1073235

URL: http://svn.apache.org/viewvc?rev=1073235&view=rev
Log:
[NPANDAY-231] Remove RDF repository and model

partial modification of ProjectDao module

Modified:
    incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/pom.xml
    incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/main/java/npanday/dao/ProjectDao.java
    incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/main/java/npanday/dao/impl/ProjectDaoImpl.java
    incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/test/java/npanday/dao/impl/ProjectDaoImplTest.java

Modified: incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/pom.xml
URL: http://svn.apache.org/viewvc/incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/pom.xml?rev=1073235&r1=1073234&r2=1073235&view=diff
==============================================================================
--- incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/pom.xml (original)
+++ incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/pom.xml Tue Feb 22 07:28:25 2011
@@ -36,7 +36,12 @@ under the License.
     <dependency> 
       <groupId>npanday</groupId>  
       <artifactId>dotnet-core</artifactId>  
-    </dependency>  
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-model</artifactId>
+      <version>3.0.1</version>
+   </dependency> 
     <dependency> 
       <groupId>org.openrdf</groupId>  
       <artifactId>openrdf-model</artifactId>  

Modified: incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/main/java/npanday/dao/ProjectDao.java
URL: http://svn.apache.org/viewvc/incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/main/java/npanday/dao/ProjectDao.java?rev=1073235&r1=1073234&r2=1073235&view=diff
==============================================================================
--- incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/main/java/npanday/dao/ProjectDao.java (original)
+++ incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/main/java/npanday/dao/ProjectDao.java Tue Feb 22 07:28:25 2011
@@ -127,26 +127,5 @@ public interface ProjectDao
     Set<Project> getAllProjects()
         throws IOException;
 
-    /**
-     * Sets the repository for the data access object. This method overrides the data source object set in the
-     * DataAccessObject#init
-     *
-     * @param repository the rdf repository
-     */
-    void setRdfRepository( Repository repository );
-
-    /**
-     * Opens the repository connection specified within ProjectDao#setRdfRepository or DataAccessObject#init method
-     *
-     * @return true if the rdf repository successfully opens, otherwise return false
-     */
-    boolean openConnection();
-
-    /**
-     * Closes the repository connection specified within ProjectDao#setRdfRepository or DataAccessObject#init method
-     *
-     * @return true if the rdf repository successfully closes, otherwise return false
-     */
-    boolean closeConnection();
 
 }

Modified: incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/main/java/npanday/dao/impl/ProjectDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/main/java/npanday/dao/impl/ProjectDaoImpl.java?rev=1073235&r1=1073234&r2=1073235&view=diff
==============================================================================
--- incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/main/java/npanday/dao/impl/ProjectDaoImpl.java (original)
+++ incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/main/java/npanday/dao/impl/ProjectDaoImpl.java Tue Feb 22 07:28:25 2011
@@ -38,6 +38,7 @@ import org.apache.maven.artifact.resolve
 import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.model.Model;
+import org.apache.maven.model.Dependency;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.FileUtils;
@@ -64,6 +65,7 @@ import org.openrdf.repository.Repository
 import org.openrdf.repository.RepositoryException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
+import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
 import java.io.EOFException;
@@ -111,12 +113,27 @@ public final class ProjectDaoImpl
     private String projectQuery;
 
     private ArtifactResolver artifactResolver;
+    
+    public void init( Object dataStoreObject, String id, String className )
+        throws IllegalArgumentException
+    {
+        if ( dataStoreObject == null || !( dataStoreObject instanceof org.openrdf.repository.Repository ) )
+        {
+            throw new IllegalArgumentException(
+                                                "NPANDAY-180-023: Must initialize with an instance of org.openrdf.repository.Repository" );
+        }
 
-    public void init( ArtifactFactory artifactFactory, ArtifactResolver artifactResolver )
+        this.id = id;
+        this.className = className;
+        this.rdfRepository = (org.openrdf.repository.Repository) dataStoreObject;
+    }
+
+    public void init( ArtifactFactory artifactFactory, ArtifactResolver artifactResolver)
     {
         this.artifactFactory = artifactFactory;
         this.artifactResolver = artifactResolver;
-
+        this.className = className;
+        
         List<ProjectUri> projectUris = new ArrayList<ProjectUri>();
         projectUris.add( ProjectUri.GROUP_ID );
         projectUris.add( ProjectUri.ARTIFACT_ID );
@@ -271,8 +288,48 @@ public final class ProjectDaoImpl
         project.setVersion( version );
         project.setArtifactType( artifactType );
         project.setPublicKeyTokenId( publicKeyTokenId );
+        
+        
+        
+        //Read default settings.xml of maven to get LocalRepository Location
+        String m2_home = System.getenv("M2_HOME");
+        
+        String localRepo = getLocalRepository(m2_home+"/conf/settings.xml");
+        
+        String pomFile = localRepo + groupId.replace(".","/")+"/"+artifactId+"/"+version+"/"+artifactId+"-"+version+".pom.sha1";
+        
+        Model model = null;
+        FileReader reader = null;
+        MavenXpp3Reader mavenreader = new MavenXpp3Reader();
+        try 
+        {
+            reader = new FileReader(pomFile);
+            model = mavenreader.read(reader);
+            model.setPomFile(new File( pomFile ) );
+        }catch(Exception ex){}
+        MavenProject mavenProject = new MavenProject(model);
 
-        TupleQueryResult result = null;
+        List<Dependency> deps = mavenProject.getDependencies();
+        
+        for(Dependency dep : deps)
+        {
+            ProjectDependency projectDep = new ProjectDependency();
+            project.setArtifactId( dep.getArtifactId() );
+            project.setGroupId( dep.getGroupId() );
+            project.setVersion( dep.getVersion() );
+            Artifact artifact = createArtifactFrom( projectDep, artifactFactory );
+                    
+                    if ( !artifact.getFile().exists() )
+                    {
+                        throw new IOException( "NPANDAY-180-123: Could not find GAC assembly: Group ID = " + groupId
+                            + ", Artifact ID = " + artifactId + ", Version = " + version + ", Artifact Type = "
+                            + artifactType + ", File Path = " + artifact.getFile().getAbsolutePath() );
+                    }
+        }
+        
+        
+        
+        /*TupleQueryResult result = null;
 
         try
         {
@@ -292,6 +349,9 @@ public final class ProjectDaoImpl
 
             result = tupleQuery.evaluate();
 
+            System.out.println(">>>> RESULT "+ result);
+             System.out.println(">>>> binding names "+ result.getBindingNames() );
+            
             if ( !result.hasNext() )
             {
                 
@@ -318,10 +378,7 @@ public final class ProjectDaoImpl
             while ( result.hasNext() )
             {
                 BindingSet set = result.next();
-                /*
-                 * for ( Iterator<Binding> i = set.iterator(); i.hasNext(); ) { Binding b = i.next();
-                 * System.out.println( b.getName() + ":" + b.getValue() ); }
-                 */
+               
                 if ( set.hasBinding( ProjectUri.IS_RESOLVED.getObjectBinding() )
                     && set.getBinding( ProjectUri.IS_RESOLVED.getObjectBinding() ).getValue().toString().equalsIgnoreCase(
                                                                                                                            "true" ) )
@@ -330,12 +387,7 @@ public final class ProjectDaoImpl
                 }
 
                 project.setArtifactType( set.getBinding( ProjectUri.ARTIFACT_TYPE.getObjectBinding() ).getValue().toString() );
-                /*
-                 * if ( set.hasBinding( ProjectUri.PARENT.getObjectBinding() ) ) { String pid = set.getBinding(
-                 * ProjectUri.PARENT.getObjectBinding() ).getValue().toString(); String[] tokens = pid.split( "[:]" );
-                 * Project parentProject = getProjectFor( tokens[0], tokens[1], tokens[2], null, null );
-                 * project.setParentProject( parentProject ); }
-                 */
+               
                 if ( set.hasBinding( ProjectUri.DEPENDENCY.getObjectBinding() ) )
                 {
                     Binding binding = set.getBinding( ProjectUri.DEPENDENCY.getObjectBinding() );
@@ -374,7 +426,7 @@ public final class ProjectDaoImpl
 
                 }
             }
-        }
+        }*/
 
         // TODO: If has parent, then need to modify dependencies, etc of returned project
         logger.finest( "NPANDAY-180-008: ProjectDao.GetProjectFor - Artifact Id = " + project.getArtifactId()
@@ -900,29 +952,15 @@ public final class ProjectDaoImpl
         return id;
     }
 
-    public void init( Object dataStoreObject, String id, String className )
-        throws IllegalArgumentException
-    {
-        if ( dataStoreObject == null || !( dataStoreObject instanceof org.openrdf.repository.Repository ) )
-        {
-            throw new IllegalArgumentException(
-                                                "NPANDAY-180-023: Must initialize with an instance of org.openrdf.repository.Repository" );
-        }
-
-        this.id = id;
-        this.className = className;
-        this.rdfRepository = (org.openrdf.repository.Repository) dataStoreObject;
-    }
-
     public void setRepositoryRegistry( RepositoryRegistry repositoryRegistry )
     {
 
     }
 
-    protected void initForUnitTest( Object dataStoreObject, String id, String className,
+    protected void initForUnitTest( String id, String className,
                                     ArtifactResolver artifactResolver, ArtifactFactory artifactFactory )
     {
-        this.init( dataStoreObject, id, className );
+        this.className = className;
         init( artifactFactory, artifactResolver );
     }
 
@@ -1167,6 +1205,50 @@ public final class ProjectDaoImpl
 
         return attributes;
     }
+    
+    /*
+     * Read Default settings from M2_HOME value of ENV Var to check if there local repository is not in default Location
+     * Related to NPanday-361
+    */
+    private String getLocalRepository( String defaultMavenSettings)
+    {
+        List<String> attributes = new ArrayList<String>();
+        String localRepo = "";
+        try
+        {
+            File file = new File( defaultMavenSettings );
+
+            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+            DocumentBuilder db = dbf.newDocumentBuilder();
+            Document doc = db.parse( file );
+            doc.getDocumentElement().normalize();
+
+           NodeList nodeLst = doc.getElementsByTagName( "localRepository");
+            
+
+             for ( int s = 0; s < nodeLst.getLength(); s++ )
+            {
+                Node currentNode = nodeLst.item( s );
+
+                NodeList childrenList = currentNode.getChildNodes();
+
+                Node child = childrenList.item( 0 );
+                localRepo = child.getNodeValue();     
+            }
+            
+        }
+        catch ( Exception e )
+        {
+             logger.warning( "NPANDAY-181-218:  Default Maven Settings not found, localRepo is set to default " + ", Message = " + e.getMessage() );
+        }
+        
+        if (localRepo == "")
+        {
+            localRepo = System.getProperty("user.home")+"/.m2/repository/";
+        }
+
+        return localRepo;
+    }
 
     private List<String> getInteropParameters( String interopAbsolutePath, String comRerefenceAbsolutePath,
                                                String namespace )

Modified: incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/test/java/npanday/dao/impl/ProjectDaoImplTest.java
URL: http://svn.apache.org/viewvc/incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/test/java/npanday/dao/impl/ProjectDaoImplTest.java?rev=1073235&r1=1073234&r2=1073235&view=diff
==============================================================================
--- incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/test/java/npanday/dao/impl/ProjectDaoImplTest.java (original)
+++ incubator/npanday/branches/rdf-model-removal/components/dotnet-dao-project/src/test/java/npanday/dao/impl/ProjectDaoImplTest.java Tue Feb 22 07:28:25 2011
@@ -27,14 +27,6 @@ import npanday.dao.Requirement;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-import org.openrdf.repository.sail.SailRepository;
-import org.openrdf.rio.RDFHandler;
-import org.openrdf.rio.RDFHandlerException;
-import org.openrdf.rio.rdfxml.RDFXMLWriter;
-import org.openrdf.sail.memory.MemoryStore;
-import org.openrdf.sail.memory.MemoryStoreRDFSInferencer;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -54,31 +46,16 @@ public class ProjectDaoImplTest
 
     private static File localRepository = new File( System.getProperty( "basedir" ), "/target/local-test-repo" );
 
-    private org.openrdf.repository.Repository rdfRepository;
-
-    private File dataDir;
-
     public void testBogus()
     {
 
     }
 
     private ProjectDao createProjectDao()
-    {
-        dataDir = new File( basedir, ( "/target/rdf-repos/rdf-repo-" + System.currentTimeMillis() ) );
-        rdfRepository = new SailRepository( new MemoryStoreRDFSInferencer( new MemoryStore( dataDir ) ) );
-        try
-        {
-            rdfRepository.initialize();
-        }
-        catch ( RepositoryException e )
-        {
-            return null;
-        }
+    {    
         ProjectDaoImpl dao = new ProjectDaoImpl();
         ArtifactResolver stub = mock(ArtifactResolver.class);
-        dao.initForUnitTest( rdfRepository, "", "", stub, new ArtifactFactoryTestStub() );
-        dao.openConnection();
+        dao.initForUnitTest( "", "", stub, new ArtifactFactoryTestStub() );
         return dao;
     }
 
@@ -96,15 +73,6 @@ public class ProjectDaoImplTest
                                      "31bf3856ad364e35" );
         project.addProjectDependency( test2 );
 
-        try
-        {
-            dao.storeProjectAndResolveDependencies( project, localRepository, new ArrayList<ArtifactRepository>() );
-        }
-        catch ( java.io.IOException e )
-        {
-            e.printStackTrace();
-            fail( "Could not store the project: " + e.getMessage() );
-        }
 
         Set<Project> projects = null;
         try
@@ -117,7 +85,7 @@ public class ProjectDaoImplTest
             fail( "Could not retrieve the project: " + e.getMessage() );
         }
 
-        dao.closeConnection();
+
     }
 
     public void testGetAllProjects()
@@ -155,7 +123,7 @@ public class ProjectDaoImplTest
             fail( "Could not retrieve the project: " + e.getMessage() );
         }
 
-        dao.closeConnection();
+
     }
 
     public void testStore_WithRequirements()
@@ -215,7 +183,7 @@ public class ProjectDaoImplTest
                     hasRequirement( ProjectUri.FRAMEWORK_VERSION.getPredicate(), "2.0", requirements ) );
         assertTrue( "Could not find vendor requirement", hasRequirement( ProjectUri.VENDOR.getPredicate(), "MICROSOFT",
                                                                          requirements ) );
-        dao.closeConnection();
+
     }
 
     private boolean hasRequirement( String uri, String value, Set<Requirement> requirements )
@@ -286,7 +254,6 @@ public class ProjectDaoImplTest
             fail( "Could not retrieve the project: " + e.getMessage() );
         }
 
-        this.exportRepositoryToRdf( "testDependency-rdf.xml" );
 
         Set<ProjectDependency> projectDependencies = testProject.getProjectDependencies();
         assertEquals( "Incorrect number of dependencies", 1, projectDependencies.size() );
@@ -294,7 +261,7 @@ public class ProjectDaoImplTest
         assertTrue( "Could not find required dependency. Found Dependency: GroupId = " + projectDependency.getGroupId()
             + ", Artifact Id = " + projectDependency.getArtifactId(), this.hasDependency( "NPanday", "NPanday.Test4",
                                                                                           "1.0.0", projectDependencies ) );
-        dao.closeConnection();
+
     }
 
     public void testSingleStore()
@@ -334,7 +301,7 @@ public class ProjectDaoImplTest
         assertEquals( "Versions do not match", project.getVersion(), proj.getVersion() );
 
         assertEquals( "Found dependency when there should be none", 0, artifacts.size() );
-        dao.closeConnection();
+
     }
 
     public void testSingleStore_WithIncorrectVersion()
@@ -367,7 +334,7 @@ public class ProjectDaoImplTest
             return;
 
         }
-        dao.closeConnection();
+
         fail( "Found project when none should exist." );
     }
 
@@ -395,33 +362,4 @@ public class ProjectDaoImplTest
         return projectDependency;
     }
 
-    private void exportRepositoryToRdf( String fileName )
-    {
-        RDFHandler rdfxmlWriter;
-        try
-        {
-            File exportFile = new File( localRepository.getParentFile(), fileName );
-            rdfxmlWriter = new RDFXMLWriter( new FileOutputStream( exportFile ) );
-        }
-        catch ( IOException e )
-        {
-            // fail( e.getMessage() );
-            return;
-        }
-
-        try
-        {
-            RepositoryConnection repositoryConnection = rdfRepository.getConnection();
-            repositoryConnection.export( rdfxmlWriter );
-        }
-        catch ( RepositoryException e )
-        {
-            e.printStackTrace();
-        }
-        catch ( RDFHandlerException e )
-        {
-            e.printStackTrace();
-        }
-    }
-
 }