You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2015/02/18 21:01:45 UTC

svn commit: r1660715 - in /myfaces/tobago/branches/tobago-3.0.x: ./ tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/ tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/ tobago-core/src/main/java/org/apache/myfaces/tobago/weba...

Author: lofwyr
Date: Wed Feb 18 20:01:44 2015
New Revision: 1660715

URL: http://svn.apache.org/r1660715
Log:
Merged from trunk
cleanup [from revision 1660696]
TOBAGO-1433: Supported resource types should be configurable [from revision 1660699]
TOBAGO-1433: Supported resource types should be configurable
init [from revision 1660708]

Added:
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/resources/tobago-config-for-unit-tests.xml
      - copied unchanged from r1660699, myfaces/tobago/trunk/tobago-core/src/test/resources/tobago-config-for-unit-tests.xml
Modified:
    myfaces/tobago/branches/tobago-3.0.x/   (props changed)
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/MimeTypeUtils.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoServletContextListener.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/TobagoConfigMergingUnitTest.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/MimeTypeUtilsUnitTest.java

Propchange: myfaces/tobago/branches/tobago-3.0.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 18 20:01:44 2015
@@ -1,3 +1,3 @@
 /myfaces/tobago/branches/tobago-1.5.x:1356585,1357124
 /myfaces/tobago/branches/tobago-tree-table:1226794-1341423
-/myfaces/tobago/trunk:1571193,1571804,1571816,1571941,1571945,1571962,1571966,1576730,1589960,1591854,1600239,1600818,1601860,1602151,1602154,1602343,1604224,1606201,1607642,1609696-1609697,1609718,1610942,1610948,1610970,1610989,1611011,1611259,1611264,1611276,1611329,1611338-1611339,1611571,1613015,1613032,1614827,1614853,1615053,1615114,1615121,1617310,1619789,1621101,1621107,1621134,1621156,1621264,1621282,1621332,1622222,1622243,1622508,1623934,1624033,1625968,1625972,1626270,1628899,1628953,1636842,1636911,1640117,1640147,1640541,1640548,1640638,1640761,1640917,1641575,1641635,1641772,1641775,1641777,1657180,1657269,1657276,1657279,1658909,1658912,1659026,1659031
+/myfaces/tobago/trunk:1571193,1571804,1571816,1571941,1571945,1571962,1571966,1576730,1589960,1591854,1600239,1600818,1601860,1602151,1602154,1602343,1604224,1606201,1607642,1609696-1609697,1609718,1610942,1610948,1610970,1610989,1611011,1611259,1611264,1611276,1611329,1611338-1611339,1611571,1613015,1613032,1614827,1614853,1615053,1615114,1615121,1617310,1619789,1621101,1621107,1621134,1621156,1621264,1621282,1621332,1622222,1622243,1622508,1623934,1624033,1625968,1625972,1626270,1628899,1628953,1636842,1636911,1640117,1640147,1640541,1640548,1640638,1640761,1640917,1641575,1641635,1641772,1641775,1641777,1657180,1657269,1657276,1657279,1658909,1658912,1659026,1659031,1660696,1660699,1660708

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/MimeTypeUtils.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/MimeTypeUtils.java?rev=1660715&r1=1660714&r2=1660715&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/MimeTypeUtils.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/MimeTypeUtils.java Wed Feb 18 20:01:44 2015
@@ -21,7 +21,7 @@ package org.apache.myfaces.tobago.intern
 
 import org.apache.myfaces.tobago.config.TobagoConfig;
 
-import javax.faces.context.FacesContext;
+import javax.servlet.ServletContext;
 import java.util.Map;
 
 public final class MimeTypeUtils {
@@ -79,11 +79,21 @@ public final class MimeTypeUtils {
       }
     }
 
-    if(ADDITIONAL_MIME_TYPES == null) {
-      final TobagoConfig tobagoConfig = TobagoConfig.getInstance(FacesContext.getCurrentInstance());
-      ADDITIONAL_MIME_TYPES = tobagoConfig.getMimeTypes();
+    final int index = file.lastIndexOf('.');
+    if (index > -1) {
+      String extension = file.substring(index + 1);
+      return ADDITIONAL_MIME_TYPES.get(extension);
     }
 
     return null;
   }
+
+  public static void init(ServletContext servletContext) {
+    if (ADDITIONAL_MIME_TYPES == null) {
+      final TobagoConfig tobagoConfig = TobagoConfig.getInstance(servletContext);
+      ADDITIONAL_MIME_TYPES = tobagoConfig.getMimeTypes();
+    } else {
+      throw new IllegalStateException(MimeTypeUtils.class.getSimpleName() + " is already initialized!");
+    }
+  }
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java?rev=1660715&r1=1660714&r2=1660715&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java Wed Feb 18 20:01:44 2015
@@ -81,7 +81,7 @@ public class ResourceServlet extends Htt
   public void init(final ServletConfig servletConfig) throws ServletException {
     super.init(servletConfig);
     final TobagoConfig tobagoConfig = TobagoConfig.getInstance(servletConfig.getServletContext());
-    if (tobagoConfig != null && tobagoConfig.getProjectStage() == ProjectStage.Production) {
+    if (tobagoConfig.getProjectStage() == ProjectStage.Production) {
        expires = 24 * 60 * 60 * 1000L;
     }
     final Theme defaultTheme = tobagoConfig.getDefaultTheme();

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoServletContextListener.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoServletContextListener.java?rev=1660715&r1=1660714&r2=1660715&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoServletContextListener.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoServletContextListener.java Wed Feb 18 20:01:44 2015
@@ -23,6 +23,7 @@ import org.apache.myfaces.tobago.config.
 import org.apache.myfaces.tobago.internal.config.ContentSecurityPolicy;
 import org.apache.myfaces.tobago.internal.config.TobagoConfigBuilder;
 import org.apache.myfaces.tobago.internal.context.ResourceManagerFactory;
+import org.apache.myfaces.tobago.internal.util.MimeTypeUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -51,6 +52,9 @@ public class TobagoServletContextListene
     if (LOG.isInfoEnabled()) {
       final TobagoConfig tobagoConfig = TobagoConfig.getInstance(servletContext);
       LOG.info("TobagoConfig: " + tobagoConfig);
+
+      MimeTypeUtils.init(servletContext);
+
       final ContentSecurityPolicy.Mode mode = tobagoConfig.getContentSecurityPolicy().getMode();
       final StringBuilder builder = new StringBuilder();
       builder.append("\n*************************************************************************************");

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java?rev=1660715&r1=1660714&r2=1660715&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java Wed Feb 18 20:01:44 2015
@@ -70,7 +70,7 @@ public abstract class AbstractTobagoTest
 
     // Tobago specific extensions
 
-    final TobagoConfigImpl tobagoConfig = new TobagoConfigImpl();
+    final TobagoConfigImpl tobagoConfig = TobagoConfigMergingUnitTest.loadAndMerge("tobago-config-for-unit-tests.xml");
     final Theme theme = new MockTheme("default", "Default Mock Theme", Collections.<Theme>emptyList());
     final Theme one = new MockTheme("one", "Mock Theme One", Arrays.asList(theme));
     final Map<String, Theme> availableThemes = new HashMap<String, Theme>();

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/TobagoConfigMergingUnitTest.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/TobagoConfigMergingUnitTest.java?rev=1660715&r1=1660714&r2=1660715&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/TobagoConfigMergingUnitTest.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/TobagoConfigMergingUnitTest.java Wed Feb 18 20:01:44 2015
@@ -117,13 +117,13 @@ public class TobagoConfigMergingUnitTest
     Assert.assertEquals("test/three", mimeTypes.get("test-3"));
   }
 
-  private TobagoConfigImpl loadAndMerge(final String... names)
+  public static TobagoConfigImpl loadAndMerge(final String... names)
       throws IOException, SAXException, ParserConfigurationException, URISyntaxException {
 
     final List<TobagoConfigFragment> list = new ArrayList<TobagoConfigFragment>();
 
     for (final String name : names) {
-      final URL url = getClass().getClassLoader().getResource(name);
+      final URL url = TobagoConfigMergingUnitTest.class.getClassLoader().getResource(name);
       final TobagoConfigParser parser = new TobagoConfigParser();
       list.add(parser.parse(url));
     }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/MimeTypeUtilsUnitTest.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/MimeTypeUtilsUnitTest.java?rev=1660715&r1=1660714&r2=1660715&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/MimeTypeUtilsUnitTest.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/MimeTypeUtilsUnitTest.java Wed Feb 18 20:01:44 2015
@@ -20,12 +20,14 @@ public class MimeTypeUtilsUnitTest exten
   public static final String WOFF = "http:///localhost:8080/demo/demo.woff";
   public static final String TTF = "http:///localhost:8080/demo/demo.ttf";
   public static final String SVG = "http:///localhost:8080/demo/demo.svg";
+  public static final String ODT = "http:///localhost:8080/demo/demo.odt";
 
   public static final String UNKNOWN0 = "http:///localhost:8080/demo/demo.PNG";
   public static final String UNKNOWN1 = "http:///localhost:8080/demo/demos._png";
   public static final String UNKNOWN2 = "http:///localhost:8080/demo/demo.ggif";
   public static final String UNKNOWN3 = "http:///localhost:8080/demo/demos.ppg";
   public static final String UNKNOWN4 = "http:///localhost:8080/demo/demos.pngx";
+  public static final String UNKNOWN5 = "http:///localhost:8080/demo/demos.png.";
 
   @Test
   public void testMimeTypes() {
@@ -52,6 +54,13 @@ public class MimeTypeUtilsUnitTest exten
     Assert.assertEquals(null, MimeTypeUtils.getMimeTypeForFile(UNKNOWN2));
     Assert.assertEquals(null, MimeTypeUtils.getMimeTypeForFile(UNKNOWN3));
     Assert.assertEquals(null, MimeTypeUtils.getMimeTypeForFile(UNKNOWN4));
+    Assert.assertEquals(null, MimeTypeUtils.getMimeTypeForFile(UNKNOWN5));
+  }
+
+  @Test
+  public void testMimeTypesConfigured() {
+    // comes from tobago-config-for-unit-tests.xml
+    Assert.assertEquals("application/vnd.oasis.opendocument.text", MimeTypeUtils.getMimeTypeForFile(ODT));
   }
 
 //  @Test