Search in sources :

Example 6 with Files

use of gen.core.filters.Files in project omegat by omegat-org.

the class FilterEditor method editButtonActionPerformed.

// GEN-LAST:event_addButtonActionPerformed
private void editButtonActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_editButtonActionPerformed
    int row = instances.getSelectedRow();
    IFilter f = FilterMaster.getFilterInstance(filter.getClassName());
    if (f == null) {
        return;
    }
    InstanceEditor ie = new InstanceEditor(this, f.isSourceEncodingVariable(), f.isTargetEncodingVariable(), f.getHint(), instances.getModel().getValueAt(row, 0).toString(), instances.getModel().getValueAt(row, 1).toString(), instances.getModel().getValueAt(row, 2).toString(), instances.getModel().getValueAt(row, 3).toString());
    ie.setVisible(true);
    if (ie.getReturnStatus() == InstanceEditor.RET_OK) {
        Files ff = new Files();
        ff.setSourceEncoding(setEncodingName(ie.getSourceEncoding()));
        ff.setSourceFilenameMask(ie.getSourceFilenameMask());
        ff.setTargetEncoding(setEncodingName(ie.getTargetEncoding()));
        ff.setTargetFilenamePattern(ie.getTargetFilenamePattern());
        filter.getFiles().set(row, ff);
        instances.setModel(new OneFilterTableModel(filter));
    }
}
Also used : IFilter(org.omegat.filters2.IFilter) OneFilterTableModel(org.omegat.filters2.master.OneFilterTableModel) Files(gen.core.filters.Files)

Example 7 with Files

use of gen.core.filters.Files in project omegat by omegat-org.

the class FilterEditor method addButtonActionPerformed.

// GEN-LAST:event_toDefaultsButtonActionPerformed
private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_addButtonActionPerformed
    IFilter f = FilterMaster.getFilterInstance(filter.getClassName());
    if (f == null) {
        return;
    }
    InstanceEditor ie = new InstanceEditor(this, f.isSourceEncodingVariable(), f.isTargetEncodingVariable(), f.getHint());
    ie.setVisible(true);
    if (ie.getReturnStatus() == InstanceEditor.RET_OK) {
        Files ff = new Files();
        ff.setSourceEncoding(setEncodingName(ie.getSourceEncoding()));
        ff.setSourceFilenameMask(ie.getSourceFilenameMask());
        ff.setTargetEncoding(setEncodingName(ie.getTargetEncoding()));
        ff.setTargetFilenamePattern(ie.getTargetFilenamePattern());
        filter.getFiles().add(ff);
        instances.setModel(new OneFilterTableModel(filter));
    }
}
Also used : IFilter(org.omegat.filters2.IFilter) OneFilterTableModel(org.omegat.filters2.master.OneFilterTableModel) Files(gen.core.filters.Files)

Example 8 with Files

use of gen.core.filters.Files in project omegat by omegat-org.

the class FiltersTest method testFiltersComparison.

@Test
public void testFiltersComparison() {
    Filters orig = FilterMaster.createDefaultFiltersConfig();
    Filters clone = FilterMaster.createDefaultFiltersConfig();
    assertNotSame(orig, clone);
    // Filters does not itself implement equals() with the semantics we want
    assertNotEquals(orig, clone);
    // Use external implementation instead
    assertTrue(FiltersUtil.filtersEqual(orig, clone));
    // Shallow change
    clone.setIgnoreFileContext(!clone.isIgnoreFileContext());
    assertFalse(FiltersUtil.filtersEqual(orig, clone));
    // Deep change
    clone = FilterMaster.createDefaultFiltersConfig();
    Files file = clone.getFilters().get(0).getFiles().get(0);
    file.setTargetEncoding(file.getTargetEncoding() + "foo");
    assertFalse(FiltersUtil.filtersEqual(orig, clone));
}
Also used : Filters(gen.core.filters.Filters) Files(gen.core.filters.Files) Test(org.junit.Test)

Example 9 with Files

use of gen.core.filters.Files in project omegat by omegat-org.

the class Convert20to21 method convertFiltersConfig.

/**
 * Convert filters config ('filters.conf') into new format.
 *
 * @param fromFile
 *            old config file
 * @param toFile
 *            new config file
 * @throws Exception
 */
public static void convertFiltersConfig(final File fromFile, final File toFile) throws Exception {
    if (!fromFile.exists()) {
        return;
    }
    String c = read(fromFile);
    org.omegat.convert.v20to21.data.Filters filters;
    XMLDecoder xmldec = new XMLDecoder(new ByteArrayInputStream(c.getBytes("UTF-8")));
    try {
        filters = (org.omegat.convert.v20to21.data.Filters) xmldec.readObject();
    } finally {
        xmldec.close();
    }
    Filters res = new Filters();
    for (org.omegat.convert.v20to21.data.OneFilter f : filters.getFilter()) {
        Filter fo = new Filter();
        res.getFilters().add(fo);
        fo.setClassName(f.getClassName());
        fo.setEnabled(f.isOn());
        for (org.omegat.convert.v20to21.data.Instance i : f.getInstance()) {
            Files io = new Files();
            fo.getFiles().add(io);
            io.setSourceFilenameMask(i.getSourceFilenameMask());
            io.setTargetFilenamePattern(i.getTargetFilenamePattern());
            io.setSourceEncoding(i.getSourceEncoding());
            io.setTargetEncoding(i.getTargetEncoding());
        }
        Serializable opts = f.getOptions();
        if (opts != null) {
            BeanInfo bi = Introspector.getBeanInfo(opts.getClass());
            for (PropertyDescriptor prop : bi.getPropertyDescriptors()) {
                if ("class".equals(prop.getName())) {
                    continue;
                }
                Object value = prop.getReadMethod().invoke(opts);
                Filter.Option op = new Filter.Option();
                op.setName(prop.getName());
                op.setValue(value.toString());
                fo.getOption().add(op);
            }
        }
    }
    convertTextFilter(res);
    convertHTMLFilter2(res);
    JAXBContext ctx = JAXBContext.newInstance(Filters.class);
    Marshaller m = ctx.createMarshaller();
    m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
    m.marshal(res, toFile);
}
Also used : Serializable(java.io.Serializable) Marshaller(javax.xml.bind.Marshaller) PropertyDescriptor(java.beans.PropertyDescriptor) BeanInfo(java.beans.BeanInfo) JAXBContext(javax.xml.bind.JAXBContext) Filters(gen.core.filters.Filters) ByteArrayInputStream(java.io.ByteArrayInputStream) Filter(gen.core.filters.Filter) XMLDecoder(java.beans.XMLDecoder) Files(gen.core.filters.Files)

Example 10 with Files

use of gen.core.filters.Files in project omegat by omegat-org.

the class FilterMaster method getDefaultSettingsFromFilter.

/**
 * Create default filter's config.
 *
 * @param filterClassname
 *            filter's classname
 * @return default filter's config
 */
public static Filter getDefaultSettingsFromFilter(final String filterClassname) {
    IFilter f = getFilterInstance(filterClassname);
    if (f == null) {
        return null;
    }
    Filter fc = new Filter();
    fc.setClassName(f.getClass().getName());
    fc.setEnabled(true);
    for (Instance ins : f.getDefaultInstances()) {
        Files ff = new Files();
        ff.setSourceEncoding(ins.getSourceEncoding());
        ff.setSourceFilenameMask(ins.getSourceFilenameMask());
        ff.setTargetEncoding(ins.getTargetEncoding());
        ff.setTargetFilenamePattern(ins.getTargetFilenamePattern());
        fc.getFiles().add(ff);
    }
    return fc;
}
Also used : IFilter(org.omegat.filters2.IFilter) IFilter(org.omegat.filters2.IFilter) Filter(gen.core.filters.Filter) AbstractFilter(org.omegat.filters2.AbstractFilter) Instance(org.omegat.filters2.Instance) Files(gen.core.filters.Files)

Aggregations

Files (gen.core.filters.Files)10 IFilter (org.omegat.filters2.IFilter)6 Filter (gen.core.filters.Filter)5 AbstractFilter (org.omegat.filters2.AbstractFilter)4 OneFilterTableModel (org.omegat.filters2.master.OneFilterTableModel)3 Filters (gen.core.filters.Filters)2 Option (gen.core.filters.Filter.Option)1 BeanInfo (java.beans.BeanInfo)1 PropertyDescriptor (java.beans.PropertyDescriptor)1 XMLDecoder (java.beans.XMLDecoder)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 Serializable (java.io.Serializable)1 JAXBContext (javax.xml.bind.JAXBContext)1 Marshaller (javax.xml.bind.Marshaller)1 Test (org.junit.Test)1 FilterContext (org.omegat.filters2.FilterContext)1 Instance (org.omegat.filters2.Instance)1