]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.agent/src/main/java/org/argeo/slc/cli/DefaultSlcRuntime.java
Introduce examples modules
[gpl/argeo-slc.git] / org.argeo.slc.agent / src / main / java / org / argeo / slc / cli / DefaultSlcRuntime.java
index adae463c2b4cc564dab651a2a018bae1d2aed783..841a823012f96ceed2542a4101e96b220166384f 100644 (file)
@@ -14,8 +14,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.slc.ant.AntExecutionContext;
 import org.argeo.slc.ant.AntSlcApplication;
-import org.argeo.slc.ant.SlcAntConstants;
-import org.argeo.slc.ant.SlcAntException;
+import org.argeo.slc.ant.AntConstants;
 import org.argeo.slc.core.SlcException;
 import org.argeo.slc.core.process.SlcExecution;
 import org.argeo.slc.runtime.SlcExecutionOutput;
@@ -70,6 +69,10 @@ public class DefaultSlcRuntime {
 
                Resource scriptRes = findScript(script);
                Resource slcRootFile = findSlcRootFile(scriptRes);
+               if (slcRootFile == null)
+                       throw new SlcException(
+                                       "Could not find any SLC root file, "
+                                                       + "please configure one at the root of your scripts hierarchy.");
 
                SlcExecution slcExecution = createSlcExecution(runtime, slcRootFile,
                                scriptRes, targets);
@@ -100,21 +103,21 @@ public class DefaultSlcRuntime {
                        slcExecution.setHost(SlcExecution.UNKOWN_HOST);
                }
 
-               slcExecution.setType(SlcAntConstants.EXECTYPE_SLC_ANT);
+               slcExecution.setType(AntConstants.EXECTYPE_SLC_ANT);
 
                slcExecution.setUser(System.getProperty("user.name"));
 
                if (runtimeStr != null)
-                       slcExecution.getAttributes().put(SlcAntConstants.EXECATTR_RUNTIME,
+                       slcExecution.getAttributes().put(AntConstants.EXECATTR_RUNTIME,
                                        runtimeStr);
                String scriptRelativePath = SpringUtils.extractRelativePath(SpringUtils
                                .getParent(slcRootFile), script);
 
-               slcExecution.getAttributes().put(SlcAntConstants.EXECATTR_ANT_FILE,
+               slcExecution.getAttributes().put(AntConstants.EXECATTR_ANT_FILE,
                                scriptRelativePath);
                if (targets != null)
-                       slcExecution.getAttributes().put(
-                                       SlcAntConstants.EXECATTR_ANT_TARGETS, targets);
+                       slcExecution.getAttributes().put(AntConstants.EXECATTR_ANT_TARGETS,
+                                       targets);
 
                slcExecution.setStatus(SlcExecution.STATUS_SCHEDULED);
                return slcExecution;
@@ -138,7 +141,7 @@ public class DefaultSlcRuntime {
 
                        // Conf dir
                        String confDirStr = rootProps
-                                       .getProperty(SlcAntConstants.CONF_DIR_PROPERTY);
+                                       .getProperty(AntConstants.CONF_DIR_PROPERTY);
                        if (confDirStr != null)
                                confDir = new DefaultResourceLoader(application.getClass()
                                                .getClassLoader()).getResource(confDirStr);
@@ -151,7 +154,7 @@ public class DefaultSlcRuntime {
 
                        // Work dir
                        String workDirStr = rootProps
-                                       .getProperty(SlcAntConstants.WORK_DIR_PROPERTY);
+                                       .getProperty(AntConstants.WORK_DIR_PROPERTY);
                        if (workDirStr != null) {
                                workDir = new File(workDirStr);
                        }
@@ -190,12 +193,14 @@ public class DefaultSlcRuntime {
         * defined by {@link #SLC_ROOT_FILE_NAME}.
         */
        protected Resource findSlcRootFile(Resource currDir) {
-               if (log.isDebugEnabled())
-                       log.debug("Look for SLC root file in " + currDir);
+               if (log.isTraceEnabled())
+                       log.trace("Look for SLC root file in " + currDir);
 
                try {
                        Resource slcRootFile = currDir.createRelative(SLC_ROOT_FILE_NAME);
                        if (slcRootFile.exists()) {
+                               if (log.isDebugEnabled())
+                                       log.debug("Found SLC root file: " + slcRootFile);
                                return slcRootFile;
                        } else {
                                String currPath = currDir.getURL().getPath();
@@ -217,7 +222,7 @@ public class DefaultSlcRuntime {
                try {
                        p.load(in);
                } catch (IOException e) {
-                       throw new SlcAntException("Cannot read SLC root file", e);
+                       throw new SlcException("Cannot read SLC root file", e);
                }
                return p;
        }