]> source.dussan.org Git - aspectj.git/commitdiff
271201: inpath handles
authoraclement <aclement>
Mon, 6 Apr 2009 19:23:16 +0000 (19:23 +0000)
committeraclement <aclement>
Mon, 6 Apr 2009 19:23:16 +0000 (19:23 +0000)
ajde.core/src/org/aspectj/ajde/core/IOutputLocationManager.java
ajde.core/src/org/aspectj/ajde/core/internal/OutputLocationAdapter.java
ajde.core/testsrc/org/aspectj/ajde/core/TestOutputLocationManager.java
ajde.core/testsrc/org/aspectj/ajde/core/tests/model/SavedModelConsistencyTests.java

index d9f9a6d34bb92012ecb276eec3ca601563998f3b..605629ad47e1ec8b20d8eb86c802034dfada2dd2 100644 (file)
@@ -13,6 +13,7 @@ package org.aspectj.ajde.core;
 
 import java.io.File;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Interface that handles where the compilation output is sent. Allows for the output folder to be different for different source
@@ -68,6 +69,11 @@ public interface IOutputLocationManager {
         */
        void reportFileWrite(String outputfile, int fileType);
 
+       /**
+        * @return a Map<File,String> from inpath absolute paths to handle components
+        */
+       Map getInpathMap();
+       
        /**
         * Callback from the compiler to indicate that a file has been removed from disk, the type of the file (if known) is also
         * supplied.
index 380ab1c59222ea96038ff583c5a597324ac897a8..a944de9960e2474c851b5521ad8a78d79d63c925 100644 (file)
@@ -14,6 +14,7 @@ package org.aspectj.ajde.core.internal;
 
 import java.io.File;
 import java.util.List;
+import java.util.Map;
 
 import org.aspectj.ajde.core.IOutputLocationManager;
 import org.aspectj.ajdt.internal.compiler.CompilationResultDestinationManager;
@@ -61,4 +62,13 @@ public class OutputLocationAdapter implements CompilationResultDestinationManage
                return this.locationManager.discoverChangesSince(dir,buildtime);
        }
 
+       /**
+        * Return a map from fully qualified jar/dir entries to handle components.
+        * 
+        * @return a map from inpath entries (jars/dirs) to handle components.
+        */
+       public Map getInpathMap() {
+               return this.locationManager.getInpathMap();
+       }
+
 }
index 495dd182f32133cbffe065f14635e7439a2d3cc1..8ce149c371ecf193f7ae7ab9aceb615389408fd9 100644 (file)
@@ -12,7 +12,9 @@ package org.aspectj.ajde.core;
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Test implementation of IOutputLocationManager. By default returns the same location for both resources and classes, however,
@@ -25,11 +27,17 @@ public class TestOutputLocationManager implements IOutputLocationManager {
        private File classOutputLoc;
        private File resourceOutputLoc;
        private List allOutputLocations;
+       private Map inpathMap = Collections.EMPTY_MAP;
 
        public TestOutputLocationManager(String testProjectPath) {
                this.testProjectOutputPath = testProjectPath + File.separator + "bin";
        }
 
+       public TestOutputLocationManager(String string, Map inpathMap) {
+               this(string);
+               this.inpathMap = inpathMap;
+       }
+
        public File getOutputLocationForClass(File compilationUnit) {
                initLocations();
                return classOutputLoc;
@@ -39,6 +47,11 @@ public class TestOutputLocationManager implements IOutputLocationManager {
                initLocations();
                return resourceOutputLoc;
        }
+       
+       public Map getInpathMap() {
+               return inpathMap;
+       }
+
 
        // -------------- setter methods useful for testing -------------
        public void setOutputLocForClass(File f) {
index 5c97bcbe7462c29696f8f072c712675bb542efee..1b475ae89e7191f6582fbd1c76641a4bc2a87922 100644 (file)
@@ -14,6 +14,7 @@ package org.aspectj.ajde.core.tests.model;
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import org.aspectj.ajde.core.AjdeCoreTestCase;
@@ -54,7 +55,7 @@ public class SavedModelConsistencyTests extends AjdeCoreTestCase {
        }
 
        public void testInterfaceIsSameInBoth() {
-               AsmManager asm = AsmManager.createNewStructureModel();
+               AsmManager asm = AsmManager.createNewStructureModel(Collections.EMPTY_MAP);
                asm.readStructureModel(getAbsoluteProjectDir());
 
                IHierarchy model = asm.getHierarchy();
@@ -77,7 +78,7 @@ public class SavedModelConsistencyTests extends AjdeCoreTestCase {
        }
 
        public void testModelIsSamePreAndPostBuild() {
-               AsmManager asm = AsmManager.createNewStructureModel();
+               AsmManager asm = AsmManager.createNewStructureModel(Collections.EMPTY_MAP);
                asm.readStructureModel(getAbsoluteProjectDir());
                // AsmManager.getDefault().readStructureModel(getAbsoluteProjectDir());
                IHierarchy model = asm.getHierarchy();