Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Jon Shahen
mohawk-2.0
Commits
a6f60797
Commit
a6f60797
authored
Oct 18, 2014
by
Jonathan Shahen
Browse files
Skeleton code
parent
381632a8
Changes
7
Show whitespace changes
Inline
Side-by-side
src/mohawk/MohawkMain.java
View file @
a6f60797
...
...
@@ -5,7 +5,6 @@ import java.io.File;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.util.Vector
;
import
java.util.logging.ConsoleHandler
;
import
java.util.logging.FileHandler
;
import
java.util.logging.Level
;
...
...
@@ -13,6 +12,9 @@ import java.util.logging.Logger;
import
mohawk.logging.MohawkCSVFileFormatter
;
import
mohawk.logging.MohawkConsoleFormatter
;
import
mohawk.testing.TestingResults
;
import
mohawk.testing.TestingResultsExport
;
import
mohawk.testing.TestingSuite
;
import
org.apache.commons.cli.BasicParser
;
import
org.apache.commons.cli.CommandLine
;
...
...
@@ -31,8 +33,8 @@ import org.apache.commons.lang3.StringUtils;
public
class
MohawkMain
{
public
static
String
NuSMV_filepath
=
"NuSMV2"
;
public
static
Vector
<
String
>
SpecFiles
=
new
Vector
<
String
>
();
public
static
TestingSuite
tests
=
new
TestingSuite
();
private
static
String
SpecFileExtension
=
".spec"
;
public
static
String
SMV_filepath
=
"latestRBAC2SMV.smv"
;
public
static
Boolean
SMV_deleteFile
=
false
;
// Logger Fields
...
...
@@ -42,6 +44,7 @@ public class MohawkMain {
private
static
Level
LoggerLevel
;
private
static
FileHandler
fileHandler
;
private
static
Boolean
WriteCSVFileHeader
=
true
;
private
static
String
ResultsFile
=
"latestMohawkResults.csv"
;
public
static
Level
getLoggerLevel
()
{
return
LoggerLevel
;
...
...
@@ -57,11 +60,11 @@ public class MohawkMain {
Options
options
=
new
Options
();
// Add Information Options
options
.
addOption
(
"help"
,
false
,
"
p
rint this message"
);
options
.
addOption
(
"help"
,
false
,
"
P
rint this message"
);
options
.
addOption
(
"version"
,
false
,
"
p
rint the version information and exit"
);
"
P
rint the version information and exit"
);
options
.
addOption
(
"checknusmv"
,
false
,
"
c
hecks that NuSMV is
installed
on the system"
);
"
C
hecks that NuSMV is on the system
and displays which version is installed
"
);
// Add Logging Level Options
options
.
addOption
(
OptionBuilder
...
...
@@ -81,7 +84,8 @@ public class MohawkMain {
+
"default it creates a log called '"
+
Logger_filepath
+
"'"
).
hasArg
()
.
create
(
"output"
));
options
.
addOption
(
"a"
,
false
,
"does not write the CSV file header"
);
options
.
addOption
(
"a"
,
false
,
"Does not write the CSV file header to the output log"
);
options
.
addOption
(
OptionBuilder
.
withArgName
(
"csvfile"
)
.
withDescription
(
"The file where the result should be stored"
)
...
...
@@ -111,17 +115,16 @@ public class MohawkMain {
.
hasArg
().
create
(
"nusmv"
));
options
.
addOption
(
OptionBuilder
.
withArgName
(
"smvfile|'
u'|'
n'"
)
.
withArgName
(
"smvfile|'n'"
)
.
withDescription
(
"The filepath where the SMV file should be created; "
"The file
/folder
path where the SMV file
(s)
should be created; "
+
"Only temporary files will be used when equal to 'n'; "
+
"A unique filename will be created when equal to 'u'; "
+
"default it creates a SMV called '"
+
"by default it creates a SMV called '"
+
SMV_filepath
+
"'"
).
hasArg
()
.
create
(
"smvfile"
));
// Add Functional Options
options
.
addOption
(
"
rbac
bulk"
,
false
,
options
.
addOption
(
"bulk"
,
false
,
"Use the folder that rbacspec points to and run against all *.spec"
);
options
.
addOption
(
OptionBuilder
.
withArgName
(
"bmc|smc"
)
...
...
@@ -292,13 +295,8 @@ public class MohawkMain {
// Load in SPEC Files
// SMV File
if
(
cmd
.
hasOption
(
"smvfile"
))
{
// Check if no log file was requested
if
(
cmd
.
getOptionValue
(
"output"
).
equals
(
"n"
))
{
// Create no log file
Logger_filepath
=
""
;
}
else
if
(
cmd
.
getOptionValue
(
"output"
).
equals
(
"u"
))
{
// Create a unique log file
Logger_filepath
=
"mohawk-log.%u.%g.txt"
;
if
(
cmd
.
getOptionValue
(
"smvfile"
).
equals
(
"n"
))
{
SMV_deleteFile
=
true
;
}
else
{
// Create a log file with a specific name
File
logfile
=
new
File
(
cmd
.
getOptionValue
(
"output"
));
...
...
@@ -319,13 +317,15 @@ public class MohawkMain {
}
if
(
cmd
.
hasOption
(
"rbacspec"
))
{
if
(
cmd
.
hasOption
(
"
rbac
bulk"
))
{
if
(
cmd
.
hasOption
(
"bulk"
))
{
// Load all files ending in .spec
logger
.
fine
(
"[OPTION] Importing all SPEC files using the Bulk Import"
);
tests
.
loadSpecFilesFromFolder
(
cmd
.
hasOption
(
"rbacspec"
),
SpecFileExtension
);
}
else
{
// use only the one file (check that it exists)
logger
.
fine
(
"[OPTION] Importing SPEC file using the Single File Import"
);
tests
.
addSpecFile
(
cmd
.
hasOption
(
"rbacspec"
));
}
}
...
...
@@ -336,10 +336,15 @@ public class MohawkMain {
String
runVal
=
cmd
.
getOptionValue
(
"run"
);
switch
(
runVal
)
{
case
"all"
:
TestingResults
results
=
tests
.
runTests
();
TestingResultsExport
.
writeToConsole
(
results
);
if
(!
ResultsFile
.
isEmpty
())
{
TestingResultsExport
.
writeToFile
(
results
,
ResultsFile
);
}
break
;
case
"smv"
:
tests
.
convertSpecToSMVFormat
();
break
;
default
:
logger
.
severe
(
"The Run Option '"
...
...
src/mohawk/logging/MohawkCSVFileFormatter.java
View file @
a6f60797
...
...
@@ -6,13 +6,14 @@ import java.util.Date;
import
java.util.logging.Formatter
;
import
java.util.logging.Handler
;
import
java.util.logging.LogRecord
;
import
java.util.logging.Logger
;
import
mohawk.MohawkMain
;
import
org.apache.commons.lang3.StringEscapeUtils
;
public
class
MohawkCSVFileFormatter
extends
Formatter
{
//
// Create a DateFormat to format the logger timestamp.
//
public
final
static
Logger
logger
=
MohawkMain
.
logger
;
private
static
final
DateFormat
df
=
new
SimpleDateFormat
(
"yyyy/MM/dd hh:mm:ss.SSSZ"
);
...
...
src/mohawk/logging/MohawkConsoleFormatter.java
View file @
a6f60797
...
...
@@ -7,11 +7,14 @@ import java.util.logging.Formatter;
import
java.util.logging.Handler
;
import
java.util.logging.Level
;
import
java.util.logging.LogRecord
;
import
java.util.logging.Logger
;
import
mohawk.MohawkMain
;
import
org.apache.commons.lang3.text.WordUtils
;
public
class
MohawkConsoleFormatter
extends
Formatter
{
// Create a DateFormat to format the logger timestamp.
public
final
static
Logger
logger
=
MohawkMain
.
logger
;
private
static
final
DateFormat
df
=
new
SimpleDateFormat
(
"yyyy/MM/dd hh:mm:ss.SSSZ"
);
public
Integer
padLeft
=
Level
.
WARNING
.
toString
().
length
()
+
1
;
...
...
src/mohawk/testing/T
im
ingResults.java
→
src/mohawk/testing/T
est
ingResults.java
View file @
a6f60797
...
...
@@ -6,6 +6,6 @@ package mohawk.testing;
*
*/
public
class
T
im
ingResults
{
public
class
T
est
ingResults
{
}
src/mohawk/testing/TestingResultsExport.java
0 → 100644
View file @
a6f60797
package
mohawk.testing
;
import
java.util.logging.Logger
;
import
mohawk.MohawkMain
;
/**
*
* @author Jonathan Shahen
*
*/
public
class
TestingResultsExport
{
public
final
static
Logger
logger
=
MohawkMain
.
logger
;
public
static
void
writeToConsole
(
TestingResults
results
)
{
// TODO Auto-generated method stub
}
public
static
void
writeToFile
(
TestingResults
results
,
String
resultsFile
)
{
// TODO Auto-generated method stub
}
}
src/mohawk/testing/TestingSuite.java
0 → 100644
View file @
a6f60797
package
mohawk.testing
;
import
java.util.logging.Logger
;
import
mohawk.MohawkMain
;
public
class
TestingSuite
{
public
final
static
Logger
logger
=
MohawkMain
.
logger
;
public
void
loadSpecFilesFromFolder
(
boolean
hasOption
,
String
specFileExtension
)
{
// TODO Auto-generated method stub
}
public
void
addSpecFile
(
boolean
hasOption
)
{
// TODO Auto-generated method stub
}
public
TestingResults
runTests
()
{
// TODO Auto-generated method stub
return
null
;
}
public
void
convertSpecToSMVFormat
()
{
logger
.
info
(
"Converting the Spec file(s) to their SMV format..."
);
// TODO Complete this function
logger
.
info
(
"Done converting Spec file(s) to theif SMV format."
);
}
}
src/mohawk/testing/TimingResultsExport.java
deleted
100644 → 0
View file @
381632a8
package
mohawk.testing
;
/**
*
* @author Jonathan Shahen
*
*/
public
class
TimingResultsExport
{
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment