Merge "Minor fixes to the graph generator scripts in R, increased text size"
diff --git a/TestON/JenkinsFile/FUNCJenkinsFile b/TestON/JenkinsFile/FUNCJenkinsFile
index a27f0ad..e7b1d3b 100644
--- a/TestON/JenkinsFile/FUNCJenkinsFile
+++ b/TestON/JenkinsFile/FUNCJenkinsFile
@@ -18,7 +18,7 @@
 ]
 table_name = "executed_test_tests"
 result_name = "executed_test_results"
-graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/testCaseGraphGenerator.R"
+graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R"
 graph_saved_directory = "/var/jenkins/workspace/Pipeline_postjob_VM/"
 echo("Testcases:")
 def testsToRun = null
diff --git a/TestON/JenkinsFile/HAJenkinsFile b/TestON/JenkinsFile/HAJenkinsFile
index 40fc291..d123075 100644
--- a/TestON/JenkinsFile/HAJenkinsFile
+++ b/TestON/JenkinsFile/HAJenkinsFile
@@ -18,7 +18,7 @@
 
 table_name = "executed_test_tests"
 result_name = "executed_test_results"
-graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/testCaseGraphGenerator.R"
+graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R"
 graph_saved_directory = "/var/jenkins/workspace/Pipeline_postjob_VM/"
 
 echo("Testcases:")
diff --git a/TestON/JenkinsFile/SCPFJenkinsFile b/TestON/JenkinsFile/SCPFJenkinsFile
index 71f2085..378ce1f 100644
--- a/TestON/JenkinsFile/SCPFJenkinsFile
+++ b/TestON/JenkinsFile/SCPFJenkinsFile
@@ -28,7 +28,7 @@
 ]
 
 echo("Testcases:")
-graph_generator_directory = "~/OnosSystemTest/TestON/JenkinsFile/SCPF/"
+graph_generator_directory = "~/OnosSystemTest/TestON/JenkinsFile/scripts/"
 graph_saved_directory = "/var/jenkins/workspace/Pipeline_postjob_BM/"
 def testsToRun = null
 def prop = null
diff --git a/TestON/JenkinsFile/USECASEJenkinsFile b/TestON/JenkinsFile/USECASEJenkinsFile
index dbda5b2..3c78dbe 100644
--- a/TestON/JenkinsFile/USECASEJenkinsFile
+++ b/TestON/JenkinsFile/USECASEJenkinsFile
@@ -26,7 +26,7 @@
 
 table_name = "executed_test_tests"
 result_name = "executed_test_results"
-graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/testCaseGraphGenerator.R"
+graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R"
 graph_saved_directory = "/var/jenkins/workspace/Pipeline_postjob_BM/"
 
 echo("Testcases:")
diff --git a/TestON/JenkinsFile/SCPF/SCPFIntentInstallWithdrawRerouteLat.R b/TestON/JenkinsFile/scripts/SCPFIntentInstallWithdrawRerouteLat.R
similarity index 95%
rename from TestON/JenkinsFile/SCPF/SCPFIntentInstallWithdrawRerouteLat.R
rename to TestON/JenkinsFile/scripts/SCPFIntentInstallWithdrawRerouteLat.R
index 897460b..20b4ddd 100644
--- a/TestON/JenkinsFile/SCPF/SCPFIntentInstallWithdrawRerouteLat.R
+++ b/TestON/JenkinsFile/scripts/SCPFIntentInstallWithdrawRerouteLat.R
@@ -129,6 +129,11 @@
 dataFrame$type <- as.character( dataFrame$type )
 dataFrame$type <- factor( dataFrame$type, levels=unique( dataFrame$type ) )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
@@ -146,6 +151,8 @@
 
 print( "Generating fundamental graph data." )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 # Calculate window to display graph, based on the lowest and highest points of the data.
 if ( min( dataFrame$ms - dataFrame$stds ) < 0){
     yWindowMin <- min( dataFrame$ms - dataFrame$stds ) * 1.05
@@ -165,12 +172,12 @@
 fillLabel <- labs( fill="Type" )
 chartTitle <- "Intent Install, Withdraw, & Reroute Latencies"
 if ( args[ 1 ] == "y" ){
-    chartTitle <- paste( chartTitle, "with Flow Objectives" )
+    chartTitle <- paste( chartTitle, "w/ FlowObj" )
 }
 chartTitle <- paste( chartTitle, "\nBatch Size =" )
 chartTitle <- paste( chartTitle, fileData1[ 1,'batch_size' ] )
 
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 # Store plot configurations as 1 variable
 fundamentalGraphData <- mainPlot + xScaleConfig + yLimit + xLabel + yLabel + fillLabel + theme
diff --git a/TestON/JenkinsFile/SCPF/SCPFLineGraph.R b/TestON/JenkinsFile/scripts/SCPFLineGraph.R
similarity index 93%
rename from TestON/JenkinsFile/SCPF/SCPFLineGraph.R
rename to TestON/JenkinsFile/scripts/SCPFLineGraph.R
index f9c6c05..4b1ead6 100644
--- a/TestON/JenkinsFile/SCPF/SCPFLineGraph.R
+++ b/TestON/JenkinsFile/scripts/SCPFLineGraph.R
@@ -93,8 +93,10 @@
 dataFrame$Legend <- as.character( dataFrame$Legend )
 dataFrame$Legend <- factor( dataFrame$Legend, levels=unique( dataFrame$Legend ) )
 
-# Adding a temporary reversed iterative list to the dataFrame so that there are no gaps in-between date numbers.
-dataFrame$iterative <- seq( 1, nrow( fileData ), by = 1 )
+# Adding a temporary iterative list to the dataFrame so that there are no gaps in-between date numbers.
+dataFrame$iterative <- rev( seq( 1, nrow( fileData ), by = 1 ) )
+
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
 
 print( "Data Frame Results:" )
 print( dataFrame )
@@ -113,6 +115,7 @@
 #        - x: x-axis values (usually iterative, but it will become date # later)
 #        - y: y-axis values (usually tests)
 #        - color: the category of the colored lines (usually legend of test)
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
 mainPlot <- ggplot( data = dataFrame, aes( x = iterative, y = Values, color = Legend ) )
 
 print( "Formatting main plot." )
@@ -127,7 +130,7 @@
 fillLabel <- labs( fill="Type" )
 legendLabels <- scale_colour_discrete( labels = names( fileData ) )
 centerTitle <- theme( plot.title=element_text( hjust = 0.5 ) )  # To center the title text
-theme <- theme( axis.text.x = element_blank(), axis.ticks.x = element_blank(), plot.title = element_text( size = 18, face='bold' ) )
+theme <- theme( axis.text.x = element_blank(), axis.ticks.x = element_blank(), plot.title = element_text( size = 28, face='bold' ) )
 
 fundamentalGraphData <- fundamentalGraphData + yScaleConfig + xLabel + yLabel + fillLabel + legendLabels + centerTitle + theme
 print( "Generating line graph." )
diff --git a/TestON/JenkinsFile/SCPF/SCPFbatchFlowResp.R b/TestON/JenkinsFile/scripts/SCPFbatchFlowResp.R
similarity index 92%
rename from TestON/JenkinsFile/SCPF/SCPFbatchFlowResp.R
rename to TestON/JenkinsFile/scripts/SCPFbatchFlowResp.R
index dbf18e9..476cafb 100644
--- a/TestON/JenkinsFile/SCPF/SCPFbatchFlowResp.R
+++ b/TestON/JenkinsFile/scripts/SCPFbatchFlowResp.R
@@ -86,18 +86,25 @@
 dataFrame$type <- as.character( dataFrame$type )
 dataFrame$type <- factor( dataFrame$type, levels=unique( dataFrame$type ) )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
 
 print( "Generating fundamental graph data." )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = iterative, y = ms, fill = type ) )
 xScaleConfig <- scale_x_continuous( breaks = dataFrame$iterative, label = dataFrame$date )
 xLabel <- xlab( "date" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
@@ -135,6 +142,10 @@
 dataFrame$type <- as.character( dataFrame$type )
 dataFrame$type <- factor( dataFrame$type, levels=unique( dataFrame$type ) )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
 
 # **********************************************************
 # STEP 3: Generate graphs.
@@ -142,12 +153,14 @@
 
 print( "Generating fundamental graph data." )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = iterative, y = ms, fill = type ) )
 xScaleConfig <- scale_x_continuous( breaks = dataFrame$iterative, label = dataFrame$date )
 xLabel <- xlab( "Build Date" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFcbench.R b/TestON/JenkinsFile/scripts/SCPFcbench.R
similarity index 94%
rename from TestON/JenkinsFile/SCPF/SCPFcbench.R
rename to TestON/JenkinsFile/scripts/SCPFcbench.R
index 999504e..786a2fa 100644
--- a/TestON/JenkinsFile/SCPF/SCPFcbench.R
+++ b/TestON/JenkinsFile/scripts/SCPFcbench.R
@@ -86,17 +86,25 @@
 
 colnames( dataFrame ) <- c( "ms", "type", "std", "date", "iterative" )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
 
 print( "Generating fundamental graph data." )
+
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = iterative, y = ms, ymin = ms - std, ymax = ms + std ) )
 xScaleConfig <- scale_x_continuous( breaks = dataFrame$iterative, label = dataFrame$date )
 xLabel <- xlab( "date" )
 yLabel <- ylab( "Responses / sec" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFflowTp1g.R b/TestON/JenkinsFile/scripts/SCPFflowTp1g.R
similarity index 93%
rename from TestON/JenkinsFile/SCPF/SCPFflowTp1g.R
rename to TestON/JenkinsFile/scripts/SCPFflowTp1g.R
index 8350f38..2116035 100644
--- a/TestON/JenkinsFile/SCPF/SCPFflowTp1g.R
+++ b/TestON/JenkinsFile/scripts/SCPFflowTp1g.R
@@ -71,13 +71,13 @@
     flowObjModifier <- "_fobj"
 }
 if ( args[ 8 ] == 'y' ){
-    commandNeighborModifier <- "NOT "
+    commandNeighborModifier <- "scale=1 OR NOT "
 }
 
 command <- paste( "SELECT scale, avg( avg ), avg( std ) FROM flow_tp", flowObjModifier, sep="" )
-command <- paste( command, "_tests WHERE ", sep="" )
+command <- paste( command, "_tests WHERE (", sep="" )
 command <- paste( command, commandNeighborModifier, sep="" )
-command <- paste( command, "neighbors = 0 AND branch = '", sep="" )
+command <- paste( command, "neighbors = 0 ) AND branch = '", sep="" )
 command <- paste( command, args[ 7 ], sep="" )
 command <- paste( command, "' AND date IN ( SELECT max( date ) FROM flow_tp", sep="" )
 command <- paste( command, flowObjModifier, sep="" )
@@ -109,6 +109,11 @@
 
 colnames( dataFrame ) <- c( "throughput", "type", "scale", "std" )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
@@ -133,6 +138,9 @@
 #        - x: x-axis values (usually node scaling)
 #        - y: y-axis values (usually time in milliseconds)
 #        - fill: the category of the colored side-by-side bars (usually type)
+
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = scale, y = throughput, ymin = throughput - std, ymax = throughput + std, fill = type ) )
 
 # Formatting the plot
@@ -152,7 +160,7 @@
     chartTitle <- paste( chartTitle, "0" )
 }
 
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 # Store plot configurations as 1 variable
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
diff --git a/TestON/JenkinsFile/SCPF/SCPFhostLat.R b/TestON/JenkinsFile/scripts/SCPFhostLat.R
similarity index 94%
rename from TestON/JenkinsFile/SCPF/SCPFhostLat.R
rename to TestON/JenkinsFile/scripts/SCPFhostLat.R
index 58d0b9b..75e2a45 100644
--- a/TestON/JenkinsFile/SCPF/SCPFhostLat.R
+++ b/TestON/JenkinsFile/scripts/SCPFhostLat.R
@@ -87,6 +87,10 @@
 
 colnames( dataFrame ) <- c( "ms", "type", "scale", "std" )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
 
 # **********************************************************
 # STEP 3: Generate graphs.
@@ -94,12 +98,13 @@
 
 print( "Generating fundamental graph data." )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
 mainPlot <- ggplot( data = dataFrame, aes( x = scale, y = ms, ymin = ms - std, ymax = ms + std ) )
 xScaleConfig <- scale_x_continuous( breaks=c( 1, 3, 5, 7, 9) )
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFintentEventTp.R b/TestON/JenkinsFile/scripts/SCPFintentEventTp.R
similarity index 92%
rename from TestON/JenkinsFile/SCPF/SCPFintentEventTp.R
rename to TestON/JenkinsFile/scripts/SCPFintentEventTp.R
index e7818d1..a8d8248 100644
--- a/TestON/JenkinsFile/SCPF/SCPFintentEventTp.R
+++ b/TestON/JenkinsFile/scripts/SCPFintentEventTp.R
@@ -71,13 +71,13 @@
     flowObjModifier <- "_fobj"
 }
 if ( args[ 8 ] == 'y' ){
-    commandNeighborModifier <- "NOT "
+    commandNeighborModifier <- "scale=1 OR NOT "
 }
 
-command <- paste( "SELECT scale, avg( avg ) FROM intent_tp", flowObjModifier, sep="" )
-command <- paste( command, "_tests WHERE ", sep="" )
+command <- paste( "SELECT scale, SUM( avg ) as avg FROM intent_tp", flowObjModifier, sep="" )
+command <- paste( command, "_tests WHERE (", sep="" )
 command <- paste( command, commandNeighborModifier, sep="" )
-command <- paste( command, "neighbors = 0 AND branch = '", sep="")
+command <- paste( command, "neighbors = 0 ) AND branch = '", sep="")
 command <- paste( command, args[ 7 ], sep="" )
 command <- paste( command, "' AND date IN ( SELECT max( date ) FROM intent_tp", sep="" )
 command <- paste( command, flowObjModifier, sep="" )
@@ -107,6 +107,12 @@
 
 colnames( dataFrame ) <- c( "throughput", "type", "scale" )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
@@ -131,6 +137,8 @@
 #        - x: x-axis values (usually node scaling)
 #        - y: y-axis values (usually time in milliseconds)
 #        - fill: the category of the colored side-by-side bars (usually type)
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = scale, y = throughput, fill = type ) )
 
 # Formatting the plot
@@ -150,7 +158,7 @@
     chartTitle <- paste( chartTitle, "0" )
 }
 
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 # Store plot configurations as 1 variable
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
diff --git a/TestON/JenkinsFile/SCPF/SCPFmastershipFailoverLat.R b/TestON/JenkinsFile/scripts/SCPFmastershipFailoverLat.R
similarity index 93%
rename from TestON/JenkinsFile/SCPF/SCPFmastershipFailoverLat.R
rename to TestON/JenkinsFile/scripts/SCPFmastershipFailoverLat.R
index 6ec3098..594a515 100644
--- a/TestON/JenkinsFile/SCPF/SCPFmastershipFailoverLat.R
+++ b/TestON/JenkinsFile/scripts/SCPFmastershipFailoverLat.R
@@ -104,28 +104,27 @@
 stdData <- melt( stds )
 colnames( stdData ) <- c( "ms", "type" )
 
+dataFrame <- na.omit( avgData )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( avgData )
+
 
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
 
 print( "Generating fundamental graph data." )
-barBaseLength <- 16
-if (min( c( avgData$ms, stdData$ms ) ) < 0){
-    yMin <- min( c( avgData$ms, stdData$ms ) )
-} else {
-    yMin <- 0
-}
-yMax <- max( c( avgData$ms, stdData$ms, max( avgs$deact_role_avg + avgs$kill_deact_avg ) ) ) * 1.05
+
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
 
 mainPlot <- ggplot( data = avgData, aes( x = scale, y = ms, ymin = ms - stdData$ms, ymax = ms + stdData$ms,fill = type ) )
 xScaleConfig <- scale_x_continuous( breaks=c( 1, 3, 5, 7, 9) )
-#xLimit <- xlim( min( avgData$scale - 1 ), max( avgData$scale + 1 ) )
 yLimit <- ylim( yMin, yMax )
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + yLimit + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFportLat.R b/TestON/JenkinsFile/scripts/SCPFportLat.R
similarity index 93%
rename from TestON/JenkinsFile/SCPF/SCPFportLat.R
rename to TestON/JenkinsFile/scripts/SCPFportLat.R
index 10af8a9..9eb38a5 100644
--- a/TestON/JenkinsFile/SCPF/SCPFportLat.R
+++ b/TestON/JenkinsFile/scripts/SCPFportLat.R
@@ -98,6 +98,14 @@
 downAvgsData$type <- as.character( downAvgsData$type )
 downAvgsData$type <- factor( downAvgsData$type, levels=unique( downAvgsData$type ) )
 
+upAvgsData <- na.omit( upAvgsData )   # Omit any data that doesn't exist
+downAvgsData <- na.omit( downAvgsData )   # Omit any data that doesn't exist
+
+print( "Up Averages Results:" )
+print( upAvgsData )
+
+print( "Down Averages Results:" )
+print( downAvgsData )
 
 # **********************************************************
 # STEP 3: Generate graphs.
@@ -111,6 +119,8 @@
  } else {
      yMin <- 0
  }
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 yMax <- max( fileData[ 'up_end_to_end_avg' ] + upAvgsData$stds )
 
 mainPlot <- ggplot( data = upAvgsData, aes( x = scale, y = ms, fill = type, ymin = fileData[ 'up_end_to_end_avg' ] - stds, ymax = fileData[ 'up_end_to_end_avg' ] + stds ) )
@@ -119,7 +129,7 @@
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + yLimit + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
@@ -148,7 +158,7 @@
 
 mainPlot <- ggplot( data = downAvgsData, aes( x = scale, y = ms, fill = type, ymin = fileData[ 'down_end_to_end_avg' ] - stds, ymax = fileData[ 'down_end_to_end_avg' ] + stds ) )
 yLimit <- ylim( yMin, yMax )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + yLimit + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFscaleTopo.R b/TestON/JenkinsFile/scripts/SCPFscaleTopo.R
similarity index 95%
rename from TestON/JenkinsFile/SCPF/SCPFscaleTopo.R
rename to TestON/JenkinsFile/scripts/SCPFscaleTopo.R
index 9956ec8..87f1f57 100644
--- a/TestON/JenkinsFile/SCPF/SCPFscaleTopo.R
+++ b/TestON/JenkinsFile/scripts/SCPFscaleTopo.R
@@ -92,6 +92,11 @@
 # Obtain the sum of the averages for the plot size and center of standard deviation bars.
 avgsSum <- fileData$total_time
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
@@ -117,6 +122,8 @@
 }
 yWindowMax <- max( avgsSum )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 # Create the primary plot here.
 # ggplot contains the following arguments:
 #     - data: the data frame that the graph will be based off of
@@ -133,8 +140,8 @@
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-chartTitle <- paste( "Topology Scaling Operation Latency" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+chartTitle <- paste( "Scale Topology Latency Test" )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 # Store plot configurations as 1 variable
 fundamentalGraphData <- mainPlot + xScaleConfig + yLimit + xLabel + yLabel + fillLabel + theme
diff --git a/TestON/JenkinsFile/SCPF/SCPFscalingMaxIntents.R b/TestON/JenkinsFile/scripts/SCPFscalingMaxIntents.R
similarity index 94%
rename from TestON/JenkinsFile/SCPF/SCPFscalingMaxIntents.R
rename to TestON/JenkinsFile/scripts/SCPFscalingMaxIntents.R
index 950083d..e5f54e5 100644
--- a/TestON/JenkinsFile/SCPF/SCPFscalingMaxIntents.R
+++ b/TestON/JenkinsFile/scripts/SCPFscalingMaxIntents.R
@@ -104,18 +104,25 @@
 dataFrame$type <- as.character( dataFrame$type )
 dataFrame$type <- factor( dataFrame$type, levels=unique( dataFrame$type ) )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
 
 print( "Generating fundamental graph data." )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = scale, y = ms, fill = type ) )
 xScaleConfig <- scale_x_continuous( breaks=c( 1, 3, 5, 7, 9) )
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Max Number of Intents/Flow Rules" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFswitchLat.R b/TestON/JenkinsFile/scripts/SCPFswitchLat.R
similarity index 93%
rename from TestON/JenkinsFile/SCPF/SCPFswitchLat.R
rename to TestON/JenkinsFile/scripts/SCPFswitchLat.R
index a68b516..9131be9 100644
--- a/TestON/JenkinsFile/SCPF/SCPFswitchLat.R
+++ b/TestON/JenkinsFile/scripts/SCPFswitchLat.R
@@ -93,6 +93,14 @@
 downAvgsData$type <- as.character( downAvgsData$type )
 downAvgsData$type <- factor( downAvgsData$type, levels=unique( downAvgsData$type ) )
 
+upAvgsData <- na.omit( upAvgsData )   # Omit any data that doesn't exist
+downAvgsData <- na.omit( downAvgsData )
+
+print( "Up Averages Results:" )
+print( upAvgsData )
+
+print( "Down Averages Results:" )
+print( downAvgsData )
 
 # **********************************************************
 # STEP 3: Generate graphs.
@@ -108,13 +116,15 @@
  }
 yMax <- max( fileData[ 'up_end_to_end_avg' ] + upAvgsData$stds )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = upAvgsData, aes( x = scale, y = ms, fill = type, ymin = fileData[ 'up_end_to_end_avg' ] - stds, ymax = fileData[ 'up_end_to_end_avg' ] + stds ) )
 xScaleConfig <- scale_x_continuous( breaks=c( 1, 3, 5, 7, 9) )
 yLimit <- ylim( yMin, yMax )
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + yLimit + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
@@ -143,7 +153,7 @@
 
 mainPlot <- ggplot( data = downAvgsData, aes( x = scale, y = ms, fill = type, ymin = fileData[ 'down_end_to_end_avg' ] - stds, ymax = fileData[ 'down_end_to_end_avg' ] + stds ) )
 yLimit <- ylim( yMin, yMax )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + yLimit + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/testCaseGraphGenerator.R b/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R
similarity index 96%
rename from TestON/JenkinsFile/testCaseGraphGenerator.R
rename to TestON/JenkinsFile/scripts/testCaseGraphGenerator.R
index 74138db..2c7e442 100644
--- a/TestON/JenkinsFile/testCaseGraphGenerator.R
+++ b/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R
@@ -101,6 +101,8 @@
 # Adding a temporary reversed iterative list to the dataFrame so that there are no gaps in-between build numbers.
 dataFrame$iterative <- rev( seq( 1, nrow( fileData ), by = 1 ) )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
 print( "Data Frame Results:" )
 print( dataFrame )
 
@@ -118,6 +120,7 @@
 #        - x: x-axis values (usually iterative, but it will become build # later)
 #        - y: y-axis values (usually tests)
 #        - color: the category of the colored lines (usually status of test)
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
 mainPlot <- ggplot( data = dataFrame, aes( x = iterative, y = Tests, color = Status ) )
 
 print( "Formatting main plot." )
@@ -134,7 +137,7 @@
 fillLabel <- labs( fill="Type" )
 legendLabels <- scale_colour_discrete( labels = c( "Failed", "Passed", "Planned" ) )
 centerTitle <- theme( plot.title=element_text( hjust = 0.5 ) )  # To center the title text
-theme <- theme( plot.title = element_text( size = 18, face='bold' ) )
+theme <- theme( plot.title = element_text( size = 28, face='bold' ) )
 
 # Store plot configurations as 1 variable
 fundamentalGraphData <- mainPlot + plannedColor + passedColor + failedColor + xScaleConfig + yScaleConfig + xLabel + yLabel + fillLabel + legendLabels + centerTitle + theme