Took care of Raman's review comments.

git-svn-id: https://asterixdb.googlecode.com/svn/branches/asterix_fix_issue_233@1001 eaa15691-b419-025a-1212-ee371bd00084
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/api/aqlj/server/APIClientThread.java b/asterix-app/src/main/java/edu/uci/ics/asterix/api/aqlj/server/APIClientThread.java
index 470201d..9879a2d 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/api/aqlj/server/APIClientThread.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/api/aqlj/server/APIClientThread.java
@@ -220,8 +220,7 @@
             AQLParser parser = new AQLParser(new StringReader(stmt));
             List<Statement> statements = parser.Statement();
             SessionConfig pc = new SessionConfig(AsterixHyracksIntegrationUtil.DEFAULT_HYRACKS_CC_CLIENT_PORT, true,
-                    false, false, false, false, false, false);
-            pc.setGenerateJobSpec(true);
+                    false, false, false, false, false, true, false);
 
             MetadataManager.INSTANCE.init();
             if (statements != null && statements.size() > 0) {
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/APIFramework.java b/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/APIFramework.java
index cafe5b7..1aad2ec 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/APIFramework.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/APIFramework.java
@@ -298,6 +298,10 @@
             }
         }
 
+        if (!pc.isGenerateJobSpec()) {
+            return null;
+        }
+        
         AlgebricksPartitionConstraint clusterLocs = queryMetadataProvider.getClusterLocations();
         builder.setBinaryBooleanInspectorFactory(format.getBinaryBooleanInspectorFactory());
         builder.setBinaryIntegerInspectorFactory(format.getBinaryIntegerInspectorFactory());
@@ -312,10 +316,6 @@
         builder.setTypeTraitProvider(format.getTypeTraitProvider());
         builder.setNormalizedKeyComputerFactoryProvider(format.getNormalizedKeyComputerFactoryProvider());
 
-        if (!pc.isGenerateJobSpec()) {
-            return null;
-        }
-        
         JobSpecification spec = compiler.createJob(AsterixAppContextInfoImpl.INSTANCE);
         // set the job event listener
         spec.setJobletEventListenerFactory(new JobEventListenerFactory(queryMetadataProvider.getJobTxnId(),
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/SessionConfig.java b/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/SessionConfig.java
index 8050a3f..4ae6edd 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/SessionConfig.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/SessionConfig.java
@@ -1,100 +1,62 @@
-/**
- * 
- */
 package edu.uci.ics.asterix.api.common;
 
 public class SessionConfig {
-    private int port;
-    private boolean printExprParam;
-    private boolean printRewrittenExprParam;
-    private boolean printLogicalPlanParam;
-    private boolean printOptimizedLogicalPlanParam;
-    private boolean printPhysicalOpsOnly;
-    private boolean printJob;
-    private boolean optimize;
-    private boolean generateJobSpec = true;
+    private final int port;
+    private final boolean optimize;
+    private final boolean printExprParam;
+    private final boolean printRewrittenExprParam;
+    private final boolean printLogicalPlanParam;
+    private final boolean printOptimizedLogicalPlanParam;
+    private final boolean printPhysicalOpsOnly;
+    private final boolean generateJobSpec;
+    private final boolean printJob;
 
     public SessionConfig(int port, boolean optimize, boolean printExprParam, boolean printRewrittenExprParam,
             boolean printLogicalPlanParam, boolean printOptimizedLogicalPlanParam, boolean printPhysicalOpsOnly,
-            boolean printJob) {
-        this.setPort(port);
-        this.setOptimize(optimize);
-        this.setPrintExprParam(printExprParam);
-        this.setPrintRewrittenExprParam(printRewrittenExprParam);
-        this.setPrintLogicalPlanParam(printLogicalPlanParam);
-        this.setPrintOptimizedLogicalPlanParam(printOptimizedLogicalPlanParam);
-        this.setPrintPhysicalOpsOnly(printPhysicalOpsOnly);
-        this.setPrintJob(printJob);
-    }
-
-    public void setPort(int port) {
+            boolean generateJobSpec, boolean printJob) {
         this.port = port;
+        this.optimize = optimize;
+        this.printExprParam = printExprParam;
+        this.printRewrittenExprParam = printRewrittenExprParam;
+        this.printLogicalPlanParam = printLogicalPlanParam;
+        this.printOptimizedLogicalPlanParam = printOptimizedLogicalPlanParam;
+        this.printPhysicalOpsOnly = printPhysicalOpsOnly;
+        this.generateJobSpec = generateJobSpec;
+        this.printJob = printJob;
     }
 
     public int getPort() {
         return port;
     }
 
-    public void setPrintExprParam(boolean printExprParam) {
-        this.printExprParam = printExprParam;
-    }
-
     public boolean isPrintExprParam() {
         return printExprParam;
     }
 
-    public void setPrintRewrittenExprParam(boolean printRewrittenExprParam) {
-        this.printRewrittenExprParam = printRewrittenExprParam;
-    }
-
     public boolean isPrintRewrittenExprParam() {
         return printRewrittenExprParam;
     }
 
-    public void setPrintLogicalPlanParam(boolean printLogicalPlanParam) {
-        this.printLogicalPlanParam = printLogicalPlanParam;
-    }
-
     public boolean isPrintLogicalPlanParam() {
         return printLogicalPlanParam;
     }
 
-    public void setPrintOptimizedLogicalPlanParam(boolean printOptimizedLogicalPlanParam) {
-        this.printOptimizedLogicalPlanParam = printOptimizedLogicalPlanParam;
-    }
-
     public boolean isPrintOptimizedLogicalPlanParam() {
         return printOptimizedLogicalPlanParam;
     }
 
-    public void setPrintJob(boolean printJob) {
-        this.printJob = printJob;
-    }
-
     public boolean isPrintJob() {
         return printJob;
     }
 
-    public void setPrintPhysicalOpsOnly(boolean prinPhysicalOpsOnly) {
-        this.printPhysicalOpsOnly = prinPhysicalOpsOnly;
-    }
-
     public boolean isPrintPhysicalOpsOnly() {
         return printPhysicalOpsOnly;
     }
 
-    public void setOptimize(boolean optimize) {
-        this.optimize = optimize;
-    }
-
     public boolean isOptimize() {
         return optimize;
     }
 
-    public void setGenerateJobSpec(boolean generateJobSpec) {
-        this.generateJobSpec = generateJobSpec;
-    }
-
     public boolean isGenerateJobSpec() {
         return generateJobSpec;
     }
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/APIServlet.java b/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/APIServlet.java
index 436673b..034e1f4 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/APIServlet.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/APIServlet.java
@@ -58,8 +58,7 @@
             List<Statement> aqlStatements = parser.Statement();
             SessionConfig sessionConfig = new SessionConfig(port, true, isSet(printExprParam),
                     isSet(printRewrittenExprParam), isSet(printLogicalPlanParam),
-                    isSet(printOptimizedLogicalPlanParam), false, isSet(printJob));
-            sessionConfig.setGenerateJobSpec(true);
+                    isSet(printOptimizedLogicalPlanParam), false, true, isSet(printJob));
             MetadataManager.INSTANCE.init();
             AqlTranslator aqlTranslator = new AqlTranslator(aqlStatements, out, sessionConfig, DisplayFormat.HTML);
             List<QueryResult> executionResults = null;
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/api/java/AsterixJavaClient.java b/asterix-app/src/main/java/edu/uci/ics/asterix/api/java/AsterixJavaClient.java
index f007cbb..7e72d94 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/api/java/AsterixJavaClient.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/api/java/AsterixJavaClient.java
@@ -64,8 +64,8 @@
         MetadataManager.INSTANCE.init();
 
         SessionConfig pc = new SessionConfig(AsterixHyracksIntegrationUtil.DEFAULT_HYRACKS_CC_CLIENT_PORT, optimize,
-                false, printRewrittenExpressions, printLogicalPlan, printOptimizedPlan, printPhysicalOpsOnly, printJob);
-        pc.setGenerateJobSpec(generateBinaryRuntime);
+                false, printRewrittenExpressions, printLogicalPlan, printOptimizedPlan, printPhysicalOpsOnly,
+                generateBinaryRuntime, printJob);
 
         AqlTranslator aqlTranslator = new AqlTranslator(aqlStatements, writer, pc, DisplayFormat.TEXT);
         aqlTranslator.compileAndExecute(hcc);