Berdiri sendiri
Ringkasan - kendiri
Ringkasan fail kendiri boleh dijana dengan mencipta objek com.glasswall.analysissummary.FileSummary.
API
Pembina
public FileSummary(
Path inputFilePath,
int sessionStatus,
String lastErrorMessage,
String processMessage,
InputStream analysisInputStream,
boolean skipUnsupportedFileTypes
) throws SAXException, ParserConfigurationException, IOException
Parameter:
Path inputFilePath- Laluan fail bagi fail yang telah diproses.int sessionStatus- Status pulangan daripada GW2RunSession.String lastErrorMessage- Mesej ralat daripada GW2FileErrorMsg. Jika ini ialah null atau kosong maka ia tidak akan disertakan dalam ringkasan.String processMessage- Mesej proses daripada GW2FileSessionStatus. Jika ini ialah null atau kosong maka ia tidak akan disertakan dalam ringkasan.InputStream analysisInputStream- Strim input yang mengandungi laporan analisis untuk disertakan.boolean skipUnsupportedFileTypes- boolean yang menunjukkan sama ada jenis fail yang tidak disokong patut dilangkau.
Kaedah instance
public String getFileName()
Mengembalikan nama fail bagi fail yang diproses.
Returns: Laluan fail mutlak bagi fail yang diproses.
public String getProcessMessage()
Mengembalikan mesej proses sesi fail. Ini akan menjadi null jika mesej proses tidak ditentukan.
Returns: Mesej proses sesi fail.
public EngineOutcome getEngineOutcome()
Mengembalikan enum EngineOutcome yang menunjukkan sama ada fail yang diproses ialah Managed, NonConforming, atau Unsupported.
Returns:
Enum EngineOutcome.
public String getErrorMessage()
Mengembalikan mesej ralat jika fail tidak mematuhi. Ini akan menjadi null jika fail diuruskan.
Pulangan: Mesej ralat.
public Map<String, Long> getSanitisedItems()
Mengembalikan peta item yang telah disanitasi bersama bilangannya.
Pulangan: Peta item yang telah disanitasi dengan bilangannya.
public Map<String, Long> getAllowedItems()
Mengembalikan peta item yang dibenarkan bersama bilangannya.
Pulangan: Peta item yang dibenarkan dengan bilangannya.
public Map<String, Long> getRemedyItems()
Mengembalikan peta item remedy bersama bilangannya.
Pulangan: Peta item remedy dengan bilangannya.
Contoh 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());
}
}