001 /* 002 * Copyright (C) 2008-2010 by Holger Arndt 003 * 004 * This file is part of the Universal Java Matrix Package (UJMP). 005 * See the NOTICE file distributed with this work for additional 006 * information regarding copyright ownership and licensing. 007 * 008 * UJMP is free software; you can redistribute it and/or modify 009 * it under the terms of the GNU Lesser General Public License as 010 * published by the Free Software Foundation; either version 2 011 * of the License, or (at your option) any later version. 012 * 013 * UJMP is distributed in the hope that it will be useful, 014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 016 * GNU Lesser General Public License for more details. 017 * 018 * You should have received a copy of the GNU Lesser General Public 019 * License along with UJMP; if not, write to the 020 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 021 * Boston, MA 02110-1301 USA 022 */ 023 024 package org.ujmp.gui.actions; 025 026 import java.util.ArrayList; 027 import java.util.List; 028 029 import javax.swing.Action; 030 import javax.swing.JComponent; 031 032 import org.ujmp.core.Matrix; 033 import org.ujmp.core.exceptions.MatrixException; 034 import org.ujmp.core.interfaces.GUIObject; 035 import org.ujmp.gui.MatrixGUIObject; 036 037 public class RemoveStopWordsAction extends AbstractMatrixAction { 038 private static final long serialVersionUID = -8691068224220738712L; 039 040 public static final String[] ENGLISH_STOP_WORDS = { "a", "an", "and", 041 "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", 042 "is", "it", "no", "not", "of", "on", "or", "such", "that", "the", 043 "their", "then", "there", "these", "they", "this", "to", "was", 044 "will", "with" }; 045 046 public RemoveStopWordsAction(JComponent c, MatrixGUIObject m, GUIObject v) { 047 super(c, m, v); 048 putValue(Action.NAME, "Remove Stop Words"); 049 putValue(Action.SHORT_DESCRIPTION, "remove stop words from strings"); 050 } 051 052 public Object call() throws MatrixException { 053 List<String> list = new ArrayList<String>(); 054 for (String s : ENGLISH_STOP_WORDS) { 055 list.add(s); 056 } 057 Matrix m = getMatrixObject().getMatrix().removeWords(getRet(), list); 058 m.showGUI(); 059 return m; 060 } 061 062 }