독립 실행형
요약 - 독립 실행형
독립형 파일 요약은 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- 지원되지 않는 파일 형식을 건너뛸지 여부를 나타내는 boolean 값입니다.
인스턴스 메서드
public String getFileName()
처리된 파일의 파일 이름을 반환합니다.
반환값: 처리된 파일의 절대 파일 경로입니다.
public String getProcessMessage()
파일 세션 처리 메시지를 반환합니다. 처리 메시지가 지정되지 않은 경우 null입니다.
반환값: 파일 세션 처리 메시지입니다.
public EngineOutcome getEngineOutcome()
Returns an EngineOutcome enum indicating whether the processed file was Managed, NonConforming, or Unsupported.
반환값:
EngineOutcome enum.
public String getErrorMessage()
파일이 non-conforming인 경우 오류 메시지를 반환합니다. 파일이 managed인 경우에는 null입니다.
반환값: 오류 메시지입니다.
public Map<String, Long> getSanitisedItems()
정제된 항목과 해당 개수를 함께 포함하는 맵을 반환합니다.
반환값: 정제된 항목과 해당 개수를 포함하는 맵입니다.
public Map<String, Long> getAllowedItems()
허용된 항목과 해당 개수를 함께 포함하는 맵을 반환합니다.
반환값: 허용된 항목과 해당 개수를 포함하는 맵입니다.
public Map<String, Long> getRemedyItems()
remedy 항목과 해당 개수를 함께 포함하는 맵을 반환합니다.
반환값: 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());
}
}