]> source.dussan.org Git - vaadin-framework.git/commitdiff
Improve error message for missing imports (#12494)
authorArtur Signell <artur@vaadin.com>
Mon, 2 Sep 2013 19:28:19 +0000 (22:28 +0300)
committerArtur Signell <artur@vaadin.com>
Mon, 2 Sep 2013 20:29:30 +0000 (23:29 +0300)
Change-Id: Ic320ac6f54e928939773495a5168ac674d6a1a33

theme-compiler/src/com/vaadin/sass/internal/ScssStylesheet.java
theme-compiler/src/com/vaadin/sass/internal/visitor/ImportNodeHandler.java

index dbb3e571dc163e1b0f8fa1026c95bd2983f5b6fc..704425e30088627376a4c79963d452c8263b1e6f 100644 (file)
@@ -59,7 +59,7 @@ public class ScssStylesheet extends Node {
 
     private static HashMap<Node, Node> lastNodeAdded = new HashMap<Node, Node>();
 
-    private String fileName;
+    private File file;
 
     private String charset;
 
@@ -162,7 +162,7 @@ public class ScssStylesheet extends Node {
             InputSource source = resolver.resolve(identifier);
             if (source != null) {
                 File f = new File(source.getURI());
-                setFileName(f.getParent());
+                setFile(f);
                 return source;
             }
         }
@@ -355,12 +355,28 @@ public class ScssStylesheet extends Node {
         return mixinDefs.get(name);
     }
 
-    public void setFileName(String fileName) {
-        this.fileName = fileName;
+    public void setFile(File file) {
+        this.file = file;
     }
 
+    /**
+     * Returns the directory containing this style sheet
+     * 
+     * @since 7.2
+     * @return The directory containing this style sheet
+     */
+    public String getDirectory() {
+        return file.getParent();
+    }
+
+    /**
+     * Returns the full file name for this style sheet
+     * 
+     * @since 7.2
+     * @return The full file name for this style sheet
+     */
     public String getFileName() {
-        return fileName;
+        return file.getPath();
     }
 
     public static HashMap<Node, Node> getLastNodeAdded() {
index cb9896967ad47c3456580d9de18ca12b2bfa9be7..87c7cadcf80eb54417b37f412953a95c090e19bf 100644 (file)
@@ -58,7 +58,7 @@ public class ImportNodeHandler {
                 if (!importNode.isPureCssImport()) {
                     try {
                         StringBuilder filePathBuilder = new StringBuilder(
-                                styleSheet.getFileName());
+                                styleSheet.getDirectory());
                         filePathBuilder.append(File.separatorChar).append(
                                 importNode.getUri());
                         if (!filePathBuilder.toString().endsWith(".scss")) {
@@ -73,9 +73,10 @@ public class ImportNodeHandler {
                             imported = ScssStylesheet.get(importNode.getUri());
                         }
                         if (imported == null) {
-                            throw new FileNotFoundException(importNode.getUri()
-                                    + " (parent: "
-                                    + ScssStylesheet.get().getFileName() + ")");
+                            throw new FileNotFoundException("Import '"
+                                    + importNode.getUri() + "' in '"
+                                    + styleSheet.getFileName()
+                                    + "' could not be found");
                         }
 
                         traverse(imported);