Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ even 9.x), due to the stability of the WSSDK. You will need to update the
compiling against.

All Okapi releases since M24 require Java 7 or later, so these components must
be deployed to a WorldServer instance running Java 7 or later.
be deployed to a WorldServer instance running Java 7 or later. (Upcoming M36, which is in development at the time of this writing, will requires Java 7.)

Building
--------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public class WSPlaceholderUtil
* from the map.
*
* @param s Input string with placeholders. e.g. "Click {1}here{2} or {3}cancel{4} the operation.{5}")
* @param placeholderMap An int-to-String map.
* @param phmap An int-to-String map.
* @return a String where all placeholders are replaced by the corresponding strings.
*/
public static String replacePlaceholders( String s, Map<Integer, PHData> phmap )
Expand Down
7 changes: 7 additions & 0 deletions autoactions/xliff/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,13 @@
<pattern>net.sf.okapi</pattern>
<shadedPattern>${okapi.version}.net.sf.okapi</shadedPattern>
</relocation>
<relocation> <!-- Comon code needs to be relocated also to prevent from overloading the previous version. -->
<pattern>com.spartansoftwareinc</pattern>
<shadedPattern>${project.version}.com.spartansoftwareinc</shadedPattern>
<excludes>
<exclude>com.spartansoftwareinc.ws.okapi.autoactions.xliff.*</exclude>
</excludes>
</relocation>
<relocation>
<pattern>com.ibm.icu</pattern>
<shadedPattern>okapi_ws_components.com.ibm.icu</shadedPattern>
Expand Down
12 changes: 12 additions & 0 deletions filters/base/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,25 @@
<artifactId>okapi-filter-properties</artifactId>
<version>${okapi.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>net.sf.okapi</groupId>
<artifactId>okapi-core</artifactId>
<version>${okapi.version}</version>
<type>test-jar</type>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>

Expand Down
4 changes: 4 additions & 0 deletions filters/base/src/test/resources/log4j.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
log4j.rootLogger=DEBUG, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
7 changes: 7 additions & 0 deletions filters/idml/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,13 @@
<pattern>net.sf.okapi</pattern>
<shadedPattern>${okapi.version}.net.sf.okapi</shadedPattern>
</relocation>
<relocation> <!-- Comon code needs to be relocated also to prevent from overloading the previous version. -->
<pattern>com.spartansoftwareinc</pattern>
<shadedPattern>${project.version}.com.spartansoftwareinc</shadedPattern>
<excludes>
<exclude>com.spartansoftwareinc.ws.okapi.filters.idml.*</exclude>
</excludes>
</relocation>
<relocation>
<pattern>com.ibm.icu</pattern>
<shadedPattern>okapi_ws_components.com.ibm.icu</shadedPattern>
Expand Down
7 changes: 7 additions & 0 deletions filters/json/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,13 @@
<pattern>net.sf.okapi</pattern>
<shadedPattern>${okapi.version}.net.sf.okapi</shadedPattern>
</relocation>
<relocation> <!-- Comon code needs to be relocated also to prevent from overloading the previous version. -->
<pattern>com.spartansoftwareinc</pattern>
<shadedPattern>${project.version}.com.spartansoftwareinc</shadedPattern>
<excludes>
<exclude>com.spartansoftwareinc.ws.okapi.filters.json.*</exclude>
</excludes>
</relocation>
<relocation>
<pattern>com.ibm.icu</pattern>
<shadedPattern>okapi_ws_components.com.ibm.icu</shadedPattern>
Expand Down
99 changes: 99 additions & 0 deletions filters/markdown/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<url>http://maven.apache.org</url>
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.spartansoftwareinc.ws.okapi.filters</groupId>
<artifactId>okapi-ws-filters</artifactId>
<version>1.8-SNAPSHOT</version>
</parent>

<groupId>com.spartansoftwareinc.ws.okapi.filters.markdown</groupId>
<artifactId>okapi-ws-filters-markdown</artifactId>
<name>Okapi Markdown Filter for WorldServer</name>

<dependencies>
<dependency>
<groupId>com.spartansoftwareinc.ws.okapi.filters</groupId>
<artifactId>okapi-ws-filters-base</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<artifactId>okapi-filter-markdown</artifactId>
<groupId>net.sf.okapi.filters</groupId>
<version>${okapi.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.spartansoftwareinc.ws.okapi.filters</groupId>
<artifactId>okapi-ws-filters-base</artifactId>
<version>${project.version}</version>
<scope>test</scope>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>net.sf.okapi</groupId>
<artifactId>okapi-core</artifactId>
<version>${okapi.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
</transformer>
</transformers>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>deployable</shadedClassifierName>
<relocations>
<relocation>
<pattern>net.sf.okapi</pattern>
<shadedPattern>${okapi.version}.net.sf.okapi</shadedPattern>
</relocation>
<relocation> <!-- Comon code needs to be relocated also to prevent from overloading the previous version. -->
<pattern>com.spartansoftwareinc</pattern>
<shadedPattern>${project.version}.com.spartansoftwareinc</shadedPattern>
<excludes>
<exclude>com.spartansoftwareinc.ws.okapi.filters.markdown.*</exclude>
</excludes>
</relocation>
<relocation>
<pattern>com.ibm.icu</pattern>
<shadedPattern>okapi_ws_components.com.ibm.icu</shadedPattern>
</relocation>
<relocation>
<pattern>org.slf4j</pattern>
<shadedPattern>okapi_ws_components.org.slf4j</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package com.spartansoftwareinc.ws.okapi.filters.markdown;

import com.spartansoftwareinc.ws.okapi.filters.WSOkapiFilterConfigurationData;

import net.sf.okapi.filters.markdown.Parameters;

public class MarkdownFilterConfigurationData extends WSOkapiFilterConfigurationData<Parameters> {
private static final long serialVersionUID = 1L;

@Override
protected Parameters getDefaultParameters() {
Parameters parameters = new Parameters();
parameters.reset();
parameters.setUseCodeFinder(false); // Turning off since we aren't providing a way to configure the rules.
return parameters;
}

// translateUrl
public boolean getTranslateUrls() {
return getParameters().getTranslateUrls();
}

public void setTranslateUrls(boolean translateUrls) {
Parameters params = getParameters();
params.setTranslateUrls(translateUrls);
setParameters(params);
}

// translateCodeBlocks
public boolean getTranslateCodeBlocks() {
return getParameters().getTranslateCodeBlocks();
}

public void setTranslateCodeBlockse(boolean translateCodeBlocks) {
Parameters params = getParameters();
params.setTranslateCodeBlocks(translateCodeBlocks);
setParameters(params);
}

// translateHeaderMetadata
public boolean getTranslateHeaderMetadata() {
return getParameters().getTranslateHeaderMetadata();
}

public void setTranslateHeaderMetadata(boolean translateHeaderMetadata) {
Parameters params = getParameters();
params.setTranslateHeaderMetadata(translateHeaderMetadata);
setParameters(params);
}

// translateImageAltText
public boolean getTranslateImageAltText() {
return getParameters().getTranslateImageAltText();
}

public void setTranslateImageAltText(boolean translateImageAltText) {
Parameters params = getParameters();
params.setTranslateImageAltText(translateImageAltText);
setParameters(params);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package com.spartansoftwareinc.ws.okapi.filters.markdown;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.servlet.http.HttpServletRequest;

import com.idiominc.wssdk.WSContext;
import com.idiominc.wssdk.component.WSComponentConfigurationData;
import com.spartansoftwareinc.ws.okapi.base.ui.UITable;
import com.spartansoftwareinc.ws.okapi.base.ui.UICheckbox;
import com.spartansoftwareinc.ws.okapi.base.ui.UIUtil;
import com.spartansoftwareinc.ws.okapi.filters.ui.WSOkapiFilterUI;

public class MarkdownFilterConfigurationUI extends WSOkapiFilterUI<MarkdownFilterConfigurationData> {

private static final String TRANSLATE_URLS_LABEL = "Translate URLs";
private static final String TRANSLATE_URLS_NAME = "translateUrls";
private static final String TRANSLATE_CODE_BLOCKS_LABEL = "Translate Code Blocks";
private static final String TRANSLATE_CODE_BLOCKS_NAME = "translateCodeBlocks";
private static final String TRANSLATE_HEADER_METADATA_LABEL = "Translate Header Metadata (Yaml Values)";
private static final String TRANSLATE_HEADER_METADATA_NAME = "translateHeaderMetadata";
private static final String TRANSLATE_IMAGE_ALT_TEXT_LABEL = "Translate Image Alt Text";
private static final String TRANSLATE_IMAGE_ALT_TEXT_NAME = "translateImageAltText";

@Override
protected MarkdownFilterConfigurationData getConfigurationData(WSComponentConfigurationData config) {
return (config != null && config instanceof MarkdownFilterConfigurationData) ?
(MarkdownFilterConfigurationData)config : new MarkdownFilterConfigurationData();
}

@Override
protected UITable buildConfigurationTable(WSContext context, HttpServletRequest request,
WSComponentConfigurationData config) {
MarkdownFilterConfigurationData configData = getConfigurationData(config);

UITable table = new UITable();
table.add(new UICheckbox(TRANSLATE_URLS_LABEL, TRANSLATE_URLS_NAME,
configData.getTranslateUrls()));
table.add(new UICheckbox(TRANSLATE_CODE_BLOCKS_LABEL, TRANSLATE_CODE_BLOCKS_NAME,
configData.getTranslateCodeBlocks()));
table.add(new UICheckbox(TRANSLATE_HEADER_METADATA_LABEL, TRANSLATE_HEADER_METADATA_NAME,
configData.getTranslateHeaderMetadata()));
table.add(new UICheckbox(TRANSLATE_IMAGE_ALT_TEXT_LABEL, TRANSLATE_IMAGE_ALT_TEXT_NAME,
configData.getTranslateImageAltText()));
return table;
}

@Override
protected String validateAndSave(WSContext context, HttpServletRequest request, MarkdownFilterConfigurationData configData, String errors) {
MarkdownFilterConfigurationData configurationData = getConfigurationData(configData);

// No real error check performed at this point.
configurationData.setTranslateUrls(UIUtil.getBoolean(request, TRANSLATE_URLS_NAME));
configurationData.setTranslateCodeBlockse(UIUtil.getBoolean(request, TRANSLATE_CODE_BLOCKS_NAME));
configurationData.setTranslateHeaderMetadata(UIUtil.getBoolean(request, TRANSLATE_HEADER_METADATA_NAME));
configurationData.setTranslateImageAltText(UIUtil.getBoolean(request, TRANSLATE_IMAGE_ALT_TEXT_NAME));
return errors;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package com.spartansoftwareinc.ws.okapi.filters.markdown;

import com.idiominc.wssdk.component.filter.WSFilterConfigurationData;
import com.idiominc.wssdk.component.filter.WSFilterUIConfiguration;
import com.spartansoftwareinc.ws.okapi.Version;
import com.spartansoftwareinc.ws.okapi.filters.WSOkapiFilter;

import net.sf.okapi.filters.markdown.MarkdownFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MarkdownWSOkapiFilter extends WSOkapiFilter<MarkdownFilterConfigurationData> {

private static final Logger LOG = LoggerFactory.getLogger(MarkdownWSOkapiFilter.class);
private static final String FILTER_NAME = "Okapi Markdown Filter";
private static final String FILTER_DESCRIPTION = "World Server Markdown Filter using Okapi Markdown Filter";
private static final String DEFAULT_ENCODING = "UTF-8";

@Override
public String getName() {
return FILTER_NAME;
}

@Override
public String getDescription() {
return FILTER_DESCRIPTION;
}

@Override
public String getVersion() {
return Version.BANNER;
}

@Override
public WSFilterUIConfiguration getUIConfiguration() {
return new MarkdownFilterConfigurationUI();
}

@Override
protected Logger getLoggerWithContext() {
return LOG;
}

@Override
public MarkdownFilter getConfiguredFilter(MarkdownFilterConfigurationData config) {
MarkdownFilter filter = new MarkdownFilter();
filter.setParameters(config.getParameters());
return filter;
}

@Override
protected String getDefaultEncoding() {
return DEFAULT_ENCODING;
}

@Override
protected MarkdownFilterConfigurationData getOkapiFilterConfiguration() {
WSFilterConfigurationData config = getConfiguration();
return (config != null && config instanceof MarkdownFilterConfigurationData) ?
(MarkdownFilterConfigurationData)config : new MarkdownFilterConfigurationData();
}
}
Loading