Standalone
Buod - standalone
Maaaring buuin ang standalone na buod ng file sa pamamagitan ng paggawa ng isang com.glasswall.analysissummary.FileSummary object.
API
Mga Constructor
public FileSummary(
Path inputFilePath,
int sessionStatus,
String lastErrorMessage,
String processMessage,
InputStream analysisInputStream,
boolean skipUnsupportedFileTypes
) throws SAXException, ParserConfigurationException, IOException
Mga Parameter:
Path inputFilePath- Ang file path ng file na naproseso.int sessionStatus- Ang return status mula sa GW2RunSession.String lastErrorMessage- Ang mensahe ng error mula sa GW2FileErrorMsg. Kung ito ay null o walang laman, hindi ito isasama sa buod.String processMessage- Ang mensahe ng proseso mula sa GW2FileSessionStatus. Kung ito ay null o walang laman, hindi ito isasama sa buod.InputStream analysisInputStream- Input stream na naglalaman ng analysis report na isasama.boolean skipUnsupportedFileTypes- boolean na nagsasaad kung dapat laktawan ang mga hindi suportadong uri ng file.
Mga instance method
public String getFileName()
Ibinabalik ang filename ng naprosesong file.
Returns: Ang absolute file path ng naprosesong file.
public String getProcessMessage()
Ibinabalik ang mensahe ng proseso ng session ng file. Ito ay magiging null kung hindi tinukoy ang mensahe ng proseso.
Returns: Mensahe ng proseso ng session ng file.
public EngineOutcome getEngineOutcome()
Ibinabalik ang isang EngineOutcome enum na nagsasaad kung ang naprosesong file ay Managed, NonConforming, o Unsupported.
Returns:
Isang EngineOutcome enum.
public String getErrorMessage()
Ibinabalik ang mensahe ng error kung ang file ay non-conforming. Ito ay magiging null kung ang file ay managed.
Returns: Ang mensahe ng error.
public Map<String, Long> getSanitisedItems()
Nagbabalik ng isang map ng mga sanitised item kasama ang bilang ng mga ito.
Returns: Isang map ng mga sanitised item kasama ang mga bilang ng mga ito.
public Map<String, Long> getAllowedItems()
Nagbabalik ng isang map ng mga pinayagang item kasama ang bilang ng mga ito.
Returns: Isang map ng mga pinayagang item kasama ang mga bilang ng mga ito.
public Map<String, Long> getRemedyItems()
Nagbabalik ng isang map ng mga remedy item kasama ang bilang ng mga ito.
Returns: Isang map ng mga remedy item kasama ang mga bilang ng mga ito.
Halimbawa ng API
File input_directory = new File("Input");
File output_directory = new File("Output");
output_directory.mkdirs();
for (File file : input_directory.listFiles())
{
if (file.isDirectory())
continue;
try (Core2JavaBridge gw = new Core2JavaBridge())
{
// Create the output path for file and analysis report
String file_output_path = Paths.get(output_directory.getAbsolutePath().toString(), file.getName()).toString();
String analysis_output_path = file_output_path + ".xml";
// Run the file through the Glasswall engine
int session = gw.GW2OpenSession();
gw.GW2RegisterInputFile(session, file.getAbsolutePath());
gw.GW2RegisterAnalysisFile(session, analysis_output_path, 0);
gw.GW2RegisterOutFile(session, file_output_path);
int run_status = gw.GW2RunSession(session);
// Retrieve the error message if the file is non-conforming
String error_message = null;
if (run_status < 0)
error_message = gw.GW2FileErrorMsgString(session);
// Retrieve the session status along with the session description
FileSessionStatus session_status = gw.GW2FileSessionStatusResult(session);
// Create a file summary
try (FileInputStream stream = new FileInputStream(analysis_output_path))
{
FileSummary file_summary = new FileSummary(
file.toPath(),
run_status,
error_message,
session_status.summaryDescription,
stream,
true // true to skip unsupported file types
);
// TODO - do something with the file summary
}
}
catch (Exception ex)
{
System.err.println("Exception occurred: " + ex.getMessage());
}
}