Changeset 618ba61


Ignore:
Timestamp:
Jul 17, 2010, 10:26:41 AM (8 years ago)
Author:
Michael Seifert <mseifert@…>
Branches:
master
Children:
b1546e6
Parents:
b3776e1
Message:

Paths of parsed replays are now displayed relative to the parsed directory;

Optimized FullTextIndex? search

Location:
src/main/java/de/erichseifert/warp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/de/erichseifert/warp/gui/ReplayParserGUI.java

    rb3776e1 r618ba61  
    8383import de.erichseifert.warp.ReplayChangeEvent.EventType;
    8484import de.erichseifert.warp.gui.renderers.sc2replay.SC2ReplayRenderer;
     85import de.erichseifert.warp.io.Settings;
    8586import de.erichseifert.warp.io.search.indices.Index.Range;
    8687import de.erichseifert.warp.replays.sc2replay.SC2Replay;
     88import de.erichseifert.warp.util.FileUtil;
    8789
    8890/**
     
    156158        private final JLabel statusMessage;
    157159
     160        private File parsedDir;
     161
    158162        /**
    159163         * Creates a new <code>ReplayParserGUI</code> object with the default options.
     
    161165        public ReplayParserGUI(WARP warp) {
    162166                super("WARP");
     167
     168                parsedDir = new File(Settings.getInstance().getReplayDir());
    163169
    164170                this.warp = warp;
     
    180186                                if (option == JFileChooser.APPROVE_OPTION) {
    181187                                        setState(State.PARSING);
    182                                         ReplayParserGUI.this.warp.parseDir(fileChooser.getSelectedFile(), ReplayParserGUI.this);
     188                                        File dir = fileChooser.getSelectedFile();
     189                                        ReplayParserGUI.this.warp.parseDir(dir, ReplayParserGUI.this);
     190                                        parsedDir = dir;
    183191                                }
    184192                        }
     
    352360                replayTable.setRowSorter(replayTableSorter);
    353361                // Set Column spacing
    354                 replayTable.getColumnModel().getColumn(0).setPreferredWidth(350);
     362                replayTable.getColumnModel().getColumn(0).setPreferredWidth(300);
    355363                // Set selection mode
    356364                replayTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
     
    363371                        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    364372                                if (value instanceof ReplayDescriptor) {
    365                                         String replayPath =((ReplayDescriptor) value).getFile().getAbsolutePath();
     373                                        File replayFile = ((ReplayDescriptor) value).getFile();
     374                                        String replayPath = FileUtil.getPathRelativeTo(parsedDir, replayFile);
    366375                                        return super.getTableCellRendererComponent(table, replayPath, isSelected, hasFocus, row, column);
    367376                                }
  • src/main/java/de/erichseifert/warp/io/search/indices/FullTextIndex.java

    rb3776e1 r618ba61  
    4848        private static final String WILDCARD = "*";
    4949        private static final String WILDCARD_REGEX = "\\*";
    50         private static final String splitPattern = "\\b";
     50        private static final Pattern splitPattern = Pattern.compile("\\b");
     51        private static final Pattern wordPattern = Pattern.compile("\\w+");
    5152
    5253        /**
     
    7071                LinkedList<String> results = new LinkedList<String>();
    7172                str = str.toLowerCase();
    72                 String[] splitQuery = str.split(splitPattern);
     73                String[] splitQuery = splitPattern.split(str);
    7374                String wildcard = "";
    74                 Pattern wordPattern = Pattern.compile("\\w+");
    7575                for (String queryPart : splitQuery) {
    7676                        Matcher matcher = wordPattern.matcher(queryPart);
    7777                        if (matcher.matches()) {
    78                                 results.add(queryPart+WILDCARD);
     78                                results.add(wildcard+queryPart);
    7979                                wildcard = "";
    8080                        }
Note: See TracChangeset for help on using the changeset viewer.