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    }