You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by ry...@apache.org on 2013/12/05 01:42:14 UTC

svn commit: r1547976 - in /oozie/branches/branch-4.0: core/src/test/java/org/apache/oozie/action/hadoop/TestFSPrepareActions.java release-log.txt sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherURIHandlerFactory.java

Author: ryota
Date: Thu Dec  5 00:42:14 2013
New Revision: 1547976

URL: http://svn.apache.org/r1547976
Log:
OOZIE-1630 <prepare> operations fail when path doesn't have scheme (ryota)

Modified:
    oozie/branches/branch-4.0/core/src/test/java/org/apache/oozie/action/hadoop/TestFSPrepareActions.java
    oozie/branches/branch-4.0/release-log.txt
    oozie/branches/branch-4.0/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherURIHandlerFactory.java

Modified: oozie/branches/branch-4.0/core/src/test/java/org/apache/oozie/action/hadoop/TestFSPrepareActions.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-4.0/core/src/test/java/org/apache/oozie/action/hadoop/TestFSPrepareActions.java?rev=1547976&r1=1547975&r2=1547976&view=diff
==============================================================================
--- oozie/branches/branch-4.0/core/src/test/java/org/apache/oozie/action/hadoop/TestFSPrepareActions.java (original)
+++ oozie/branches/branch-4.0/core/src/test/java/org/apache/oozie/action/hadoop/TestFSPrepareActions.java Thu Dec  5 00:42:14 2013
@@ -110,31 +110,23 @@ public class TestFSPrepareActions extend
     // Test for null scheme value in the path for action
     @Test
     public void testForNullScheme() throws Exception {
+        Path actionDir = getFsTestCaseDir();
+        Path newDir = new Path(actionDir, "newDir");
         // Construct a path without scheme
-        Path newDir = new Path("test/oozietests/testDelete/delete");
+        String noSchemePath = newDir.toUri().getPath();
         FileSystem fs = getFileSystem();
         // Delete the file if it is already there
         if (fs.exists(newDir)) {
             fs.delete(newDir, true);
         }
         // Construct prepare XML block with the path
-        String prepareXML = "<prepare>" + "<delete path='" + newDir + "'/>" + "</prepare>";
+        String prepareXML = "<prepare>" + "<mkdir path='" + noSchemePath + "'/>" + "</prepare>";
 
-        // Parse the XML to get the node
-        Document doc = PrepareActionsDriver.getDocumentFromXML(prepareXML);
-        Node n = doc.getDocumentElement().getChildNodes().item(0);
+        JobConf conf = createJobConf();
+        LauncherMapperHelper.setupLauncherURIHandlerConf(conf);
+        PrepareActionsDriver.doOperations(prepareXML, conf);
 
-        try {
-            JobConf conf = createJobConf();
-            LauncherMapperHelper.setupLauncherURIHandlerConf(conf);
-            PrepareActionsDriver.doOperations(prepareXML, conf);
-            fail("Expected to catch an exception but did not encounter any");
-        } catch (LauncherException le) {
-            Path path = new Path(n.getAttributes().getNamedItem("path").getNodeValue().trim());
-            assertEquals("Scheme not present in uri " + path, le.getMessage());
-        } catch(Exception ex) {
-            fail("Expected a LauncherException but received an Exception");
-        }
+        assertTrue(fs.exists(new Path(noSchemePath)));
     }
 
 }

Modified: oozie/branches/branch-4.0/release-log.txt
URL: http://svn.apache.org/viewvc/oozie/branches/branch-4.0/release-log.txt?rev=1547976&r1=1547975&r2=1547976&view=diff
==============================================================================
--- oozie/branches/branch-4.0/release-log.txt (original)
+++ oozie/branches/branch-4.0/release-log.txt Thu Dec  5 00:42:14 2013
@@ -1,5 +1,6 @@
 -- Oozie 4.0.1 release (unreleased)
 
+OOZIE-1630 <prepare> operations fail when path doesn't have scheme (ryota)
 OOZIE-1627 Rerun doesn't resolve workflow app name (puru via rohini)
 OOZIE-1626 pig action pop-up is not working properly in UI (ryota)
 OOZIE-1607 [Doc]Update workflow specification for chgrp command (puru via rohini)

Modified: oozie/branches/branch-4.0/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherURIHandlerFactory.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-4.0/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherURIHandlerFactory.java?rev=1547976&r1=1547975&r2=1547976&view=diff
==============================================================================
--- oozie/branches/branch-4.0/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherURIHandlerFactory.java (original)
+++ oozie/branches/branch-4.0/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherURIHandlerFactory.java Thu Dec  5 00:42:14 2013
@@ -37,8 +37,9 @@ public class LauncherURIHandlerFactory {
      * @throws LauncherException
      */
     public LauncherURIHandler getURIHandler(URI uri) throws LauncherException {
+        LauncherURIHandler handler;
         if (uri.getScheme() == null) {
-            throw new LauncherException("Scheme not present in uri " + uri);
+            handler = new FSLauncherURIHandler();
         }
         else {
             String className = conf.get(CONF_LAUNCHER_URIHANDLER_SCHEME_PREFIX + uri.getScheme());
@@ -55,8 +56,9 @@ public class LauncherURIHandlerFactory {
             catch (ClassNotFoundException e) {
                 throw new LauncherException("Error instantiating LauncherURIHandler", e);
             }
-            return (LauncherURIHandler) ReflectionUtils.newInstance(clazz, null);
+            handler =  (LauncherURIHandler) ReflectionUtils.newInstance(clazz, null);
         }
+        return handler;
     }
 
 }