ข้ามไปยังเนื้อหาหลัก

แบบสแตนด์อโลน

สรุป - แบบสแตนด์อโลน

สามารถสร้างสรุปไฟล์แบบสแตนด์อโลนได้โดยการสร้างอ็อบเจ็กต์ com.glasswall.analysissummary.FileSummary.

API

คอนสตรัคเตอร์

public FileSummary(
Path inputFilePath,
int sessionStatus,
String lastErrorMessage,
String processMessage,
InputStream analysisInputStream,
boolean skipUnsupportedFileTypes
) throws SAXException, ParserConfigurationException, IOException

พารามิเตอร์:

  • Path inputFilePath - พาธไฟล์ของไฟล์ที่ถูกประมวลผล
  • int sessionStatus - สถานะผลลัพธ์ที่ส่งกลับจาก GW2RunSession
  • String lastErrorMessage - ข้อความแสดงข้อผิดพลาดจาก GW2FileErrorMsg หากค่านี้เป็น null หรือว่าง จะไม่ถูกรวมไว้ในสรุป
  • String processMessage - ข้อความกระบวนการจาก GW2FileSessionStatus หากค่านี้เป็น null หรือว่าง จะไม่ถูกรวมไว้ในสรุป
  • InputStream analysisInputStream - สตรีมอินพุตที่มีรายงานการวิเคราะห์ที่จะรวมไว้
  • boolean skipUnsupportedFileTypes - ค่าบูลีนที่ระบุว่าควรข้ามประเภทไฟล์ที่ไม่รองรับหรือไม่

เมธอดของอินสแตนซ์

public String getFileName()

ส่งคืนชื่อไฟล์ของไฟล์ที่ประมวลผลแล้ว

Returns: พาธไฟล์แบบสัมบูรณ์ของไฟล์ที่ประมวลผลแล้ว


public String getProcessMessage()

ส่งคืนข้อความกระบวนการของเซสชันไฟล์ ค่านี้จะเป็น null หากไม่ได้ระบุข้อความกระบวนการ

Returns: ข้อความกระบวนการของเซสชันไฟล์


public EngineOutcome getEngineOutcome()

ส่งคืน enum EngineOutcome ที่ระบุว่าไฟล์ที่ประมวลผลแล้วเป็น Managed, NonConforming หรือ Unsupported

Returns: enum EngineOutcome หนึ่งค่า


public String getErrorMessage()

ส่งคืนข้อความแสดงข้อผิดพลาดหากไฟล์ไม่เป็นไปตามข้อกำหนด ค่านี้จะเป็น null หากไฟล์เป็น managed

ส่งกลับ: ข้อความแสดงข้อผิดพลาด


public Map<String, Long> getSanitisedItems()

ส่งกลับ map ของรายการที่ผ่านการ sanitise พร้อมจำนวนของแต่ละรายการ

ส่งกลับ: map ของรายการที่ผ่านการ sanitise พร้อมจำนวนของแต่ละรายการ


public Map<String, Long> getAllowedItems()

ส่งกลับ map ของรายการที่อนุญาตพร้อมจำนวนของแต่ละรายการ

ส่งกลับ: map ของรายการที่อนุญาตพร้อมจำนวนของแต่ละรายการ


public Map<String, Long> getRemedyItems()

ส่งกลับ map ของรายการ remedy พร้อมจำนวนของแต่ละรายการ

ส่งกลับ: map ของรายการ remedy พร้อมจำนวนของแต่ละรายการ

ตัวอย่าง 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());
}
}