Search in sources :

Example 16 with ProtectedPart

use of org.omegat.core.data.ProtectedPart in project omegat by omegat-org.

the class TestFilterBase method parse.

/**
 * Helper function for testing the parseFile method of a given filter without options;
 * returns a list of source segments that the
 * filter-under-test finds in the given file and returns to the IParseCallback.addEntry method.
 * NB: Id, comments, fuzzyness, path, properties etc is all ignored.
 *
 * @param filter the filter to test
 * @param filename the file to use as input for the filter
 * @return list of source segments
 * @throws Exception when the filter throws an exception on parseFile.
 */
protected List<String> parse(AbstractFilter filter, String filename) throws Exception {
    final List<String> result = new ArrayList<String>();
    filter.parseFile(new File(filename), Collections.emptyMap(), context, new IParseCallback() {

        public void addEntry(String id, String source, String translation, boolean isFuzzy, String comment, IFilter filter) {
            addEntry(id, source, translation, isFuzzy, comment, null, filter, null);
        }

        public void addEntry(String id, String source, String translation, boolean isFuzzy, String comment, String path, IFilter filter, List<ProtectedPart> protectedParts) {
            String[] props = comment == null ? null : new String[] { SegmentProperties.COMMENT, comment };
            addEntryWithProperties(id, source, translation, isFuzzy, props, path, filter, protectedParts);
        }

        public void addEntryWithProperties(String id, String source, String translation, boolean isFuzzy, String[] props, String path, IFilter filter, List<ProtectedPart> protectedParts) {
            if (!source.isEmpty()) {
                result.add(source);
            }
        }

        public void linkPrevNextSegments() {
        }
    });
    return result;
}
Also used : IParseCallback(org.omegat.filters2.IParseCallback) ProtectedPart(org.omegat.core.data.ProtectedPart) IFilter(org.omegat.filters2.IFilter) ArrayList(java.util.ArrayList) File(java.io.File)

Example 17 with ProtectedPart

use of org.omegat.core.data.ProtectedPart in project omegat by omegat-org.

the class TestFilterBase method parse3.

/**
 * Helper function for testing the parseFile method of a given filter using some options;
 * returns a list of ParsedEntry with the
 * attributes that the filter-under-test finds in the given file and returns to the IParseCallback.addEntry method.
 * @param filter the filter to test
 * @param filename the file to use as input for the filter
 * @param options the filter options/config to use
 * @return list of found information
 * @throws Exception when the filter throws an exception on parseFile.
 */
protected List<ParsedEntry> parse3(AbstractFilter filter, String filename, Map<String, String> options) throws Exception {
    final List<ParsedEntry> result = new ArrayList<>();
    filter.parseFile(new File(filename), options, context, new IParseCallback() {

        public void addEntry(String id, String source, String translation, boolean isFuzzy, String comment, IFilter filter) {
            addEntry(id, source, translation, isFuzzy, comment, null, filter, null);
        }

        public void addEntry(String id, String source, String translation, boolean isFuzzy, String comment, String path, IFilter filter, List<ProtectedPart> protectedParts) {
            String[] props = comment == null ? null : new String[] { SegmentProperties.COMMENT, comment };
            addEntryWithProperties(id, source, translation, isFuzzy, props, path, filter, protectedParts);
        }

        @Override
        public void addEntryWithProperties(String id, String source, String translation, boolean isFuzzy, String[] props, String path, IFilter filter, List<ProtectedPart> protectedParts) {
            if (source.isEmpty()) {
                return;
            }
            ParsedEntry e = new ParsedEntry();
            e.id = id;
            e.source = source;
            e.translation = translation;
            e.isFuzzy = isFuzzy;
            e.props = props;
            e.path = path;
            result.add(e);
        }

        public void linkPrevNextSegments() {
        }
    });
    return result;
}
Also used : IParseCallback(org.omegat.filters2.IParseCallback) ProtectedPart(org.omegat.core.data.ProtectedPart) IFilter(org.omegat.filters2.IFilter) ArrayList(java.util.ArrayList) File(java.io.File)

Example 18 with ProtectedPart

use of org.omegat.core.data.ProtectedPart in project omegat by omegat-org.

the class TestFilterBase method parse.

/**
 * Helper function for testing the parseFile method of a given filter using some options;
 * returns a list of source segments that
 * the filter-under-test finds in the given file and returns to the IParseCallback.addEntry method.
 * NB: Id, comments, fuzzyness, path, properties etc is all ignored.
 *
 * @param filter the filter to test
 * @param filename the file to use as input for the filter
 * @param options the filter options/config to use
 * @return list of source segments
 * @throws Exception when the filter throws an exception on parseFile.
 */
protected List<String> parse(AbstractFilter filter, String filename, Map<String, String> options) throws Exception {
    final List<String> result = new ArrayList<String>();
    filter.parseFile(new File(filename), options, context, new IParseCallback() {

        public void addEntry(String id, String source, String translation, boolean isFuzzy, String comment, IFilter filter) {
            addEntry(id, source, translation, isFuzzy, comment, null, filter, null);
        }

        public void addEntry(String id, String source, String translation, boolean isFuzzy, String comment, String path, IFilter filter, List<ProtectedPart> protectedParts) {
            String[] props = comment == null ? null : new String[] { SegmentProperties.COMMENT, comment };
            addEntryWithProperties(id, source, translation, isFuzzy, props, path, filter, protectedParts);
        }

        public void addEntryWithProperties(String id, String source, String translation, boolean isFuzzy, String[] props, String path, IFilter filter, List<ProtectedPart> protectedParts) {
            if (!source.isEmpty()) {
                result.add(source);
            }
        }

        public void linkPrevNextSegments() {
        }
    });
    return result;
}
Also used : IParseCallback(org.omegat.filters2.IParseCallback) ProtectedPart(org.omegat.core.data.ProtectedPart) IFilter(org.omegat.filters2.IFilter) ArrayList(java.util.ArrayList) File(java.io.File)

Aggregations

ProtectedPart (org.omegat.core.data.ProtectedPart)18 ArrayList (java.util.ArrayList)10 SourceTextEntry (org.omegat.core.data.SourceTextEntry)6 IFilter (org.omegat.filters2.IFilter)4 IParseCallback (org.omegat.filters2.IParseCallback)4 Point (java.awt.Point)3 File (java.io.File)3 Element (org.omegat.filters3.Element)3 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2 Map (java.util.Map)2 FileInfo (org.omegat.core.data.IProject.FileInfo)2 TMXEntry (org.omegat.core.data.TMXEntry)2 Tag (org.omegat.filters3.Tag)2 XMLContentBasedTag (org.omegat.filters3.xml.XMLContentBasedTag)2 Matcher (java.util.regex.Matcher)1 AttributeSet (javax.swing.text.AttributeSet)1 BadLocationException (javax.swing.text.BadLocationException)1 HighlightPainter (javax.swing.text.Highlighter.HighlightPainter)1 Test (org.junit.Test)1