2012-08-03 111 views
0

沒有人在我的代碼中看到任何奇怪的東西嗎? 這是存儲解析器實例的解析器工廠類。我在文本文件中保存的信息對象數據庫usualy格式
在調試時找不到消息源

/table/something/something 
nameoftablecolumn/info/info/... 

etc. 

我有類解析這個文本文件中,解析器可以解析不同的線路。例如,如果行開始/ table /我會選擇調用getParser(「table」)的表分析器。 當我想解析視圖時,我遇到了一些問題。我試圖通過在Eclipse中調試來找到它,但它說我源未找到並顯示在調試中的行爲列表中沒有發現類異常..但在程序中沒有例外..

這會發生在我跳過F5到ParserFactory的構造函數。
有這個類的代碼:

/** 
* 
*/ 
package appInspector.input.parser; 

import java.util.HashMap; 


import appInspector.input.parser.database.SourceParser; 
import appInspector.input.parser.database.TableParser; 
import appInspector.input.parser.database.ViewParser; 
import appInspector.input.parser.filesystem.DirectoryParser; 
import appInspector.input.parser.filesystem.FileParser; 

/** 
*  
*/ 
public class ParserFactory { 


    private HashMap<String, IParser> parsers = new HashMap<String, IParser>(); 

    private ParserFactory() { 
     //filesystem 
     parsers.put("directory", new DirectoryParser()); 
     parsers.put("file", new FileParser()); 
     //table 
     parsers.put("table", new TableParser()); 
     //view 
     parsers.put("view", new ViewParser()); 
     //source 
     parsers.put("source", new SourceParser()); 
    } 

    public static ParserFactory newInstance(){ 
     return new ParserFactory(); 
    } 

    public IParser getParser(String key) { 
     IParser parser = parsers.get(key); 
     if(parser == null){ 
      System.out.println("Nepodporovaný objekt"); 

     } 
     return parser; 
    } 
} 

編輯: 我有類似的問題,好像有(類似的輸出 - 是指未找到源)。 Eclipse debugging "source not found"

回答

0

我試圖在我的Eclipse版本上覆制問題,但無法執行。我在Eclipse JUNO,OSX Mountain Lion上。

我修改代碼中的位進行測試:

package com.aj.spring; 

import java.util.HashMap; 

/** 
*  *   
*/ 
public class ParserFactory { 

    private HashMap<String, IParser> parsers = new HashMap<String, IParser>(); 

    private ParserFactory() { 
     parsers.put("directory", new FileParser()); 
     parsers.put("file", new FileParser()); 
     parsers.put("table", new FileParser()); 
     parsers.put("view", new FileParser()); 
     parsers.put("source", new FileParser()); 
    } 

    public static ParserFactory newInstance() { 
     return new ParserFactory(); 
    } 

    public IParser getParser(String key) { 
     IParser parser = parsers.get(key); 
     if (parser == null) { 
      System.out.println("Nepodporovan objekt"); 

     } 
     return parser; 
    } 

    public static void main(String[] args) { 
     ParserFactory.newInstance(); 
    } 
}