Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Merge pull request #18 from zanata/rhbz1139950-filename-mapping
Browse files Browse the repository at this point in the history
Rhbz1139950 filename mapping
  • Loading branch information
Patrick Huang committed Sep 25, 2014
2 parents 2c80075 + 5b2a790 commit b0c54c0
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 3 deletions.
1 change: 0 additions & 1 deletion .travis.yml
Expand Up @@ -2,7 +2,6 @@ language: java
install: true
script: mvn --batch-mode --settings settings.xml test -Dgwt.validateOnly -Darquillian.jboss.home=/dev/null
jdk:
- openjdk6
- openjdk7
- oraclejdk7
- oraclejdk8
Expand Down
Expand Up @@ -40,7 +40,8 @@ public enum DocumentType {

HTML("html", "htm"), IDML("idml"),

SUBTITLE("srt", "sbt", "sub", "vtt");
SUBTITLE("srt", "sbt", "sub", "vtt"),
PROPERTIES("properties"), XML("xml");

private static final List<String> allExtensions = buildExtensionsList();

Expand Down
29 changes: 29 additions & 0 deletions zanata-common-api/src/main/java/org/zanata/common/ProjectType.java
Expand Up @@ -55,6 +55,15 @@ public static ProjectType getValueOf(String projectType) throws Exception {
throw new Exception("Project type '" + projectType + "' not supported");
}

/**
* This method returns file types/extensions that is supported by web UI
* upload.
*
* @param type
* project type
* @return a list of file types or empty list if it's not a supported
* project type
*/
public static List<String> getSupportedSourceFileTypes(ProjectType type) {
if (type != null) {
switch (type) {
Expand All @@ -70,6 +79,26 @@ public static List<String> getSupportedSourceFileTypes(ProjectType type) {
return Arrays.asList();
}

/**
* @return source file types/extensions that this project type uses
*/
public List<String> getSourceFileTypes() {
switch (this) {
case Utf8Properties:
case Properties:
return PROPERTIES.getExtensions();
case Gettext:
case Podir:
return GETTEXT_PORTABLE_OBJECT_TEMPLATE.getExtensions();
case Xliff:
case Xml:
return XML.getExtensions();
case File:
return fileProjectSourceFileTypes();
}
throw new IllegalStateException("impossible");
}

private static List<String> fileProjectSourceFileTypes() {
List<DocumentType> supported = Arrays.asList(XML_DOCUMENT_TYPE_DEFINITION,
PLAIN_TEXT, IDML, HTML, OPEN_DOCUMENT_TEXT, OPEN_DOCUMENT_PRESENTATION,
Expand Down
Expand Up @@ -66,7 +66,7 @@ public void getAllExtensionsNotEmpty() {
containsInAnyOrder("po", "pot", "txt", "dtd", "idml", "html",
"htm", "odt", "fodt", "odp", "fodp", "ods", "fods",
"odg", "fodg", "odb", "odf", "srt", "sbt", "sub",
"vtt"));
"vtt", "properties", "xml"));
}

@Test(expected = UnsupportedOperationException.class)
Expand Down

0 comments on commit b0c54c0

Please sign in to comment.