diff --git a/api/analysis.go b/api/analysis.go index 7f74a81c..68e9b877 100644 --- a/api/analysis.go +++ b/api/analysis.go @@ -56,6 +56,17 @@ const ( AppAnalysisIssuesRoot = AppAnalysisRoot + "/issues" ) +// Manifest markers. +// The GS=\x1D (group separator). +const ( + BeginAnalysisMarker = "\x1DBEGIN-ANALYSIS\x1D" + EndAnalysisMarker = "\x1DEND-ANALYSIS\x1D" + BeginIssuesMarker = "\x1DBEGIN-ISSUES\x1D" + EndIssuesMarker = "\x1DEND-ISSUES\x1D" + BeginDepsMarker = "\x1DBEGIN-DEPS\x1D" + EndDepsMarker = "\x1DEND-DEPS\x1D" +) + // AnalysisHandler handles analysis resource routes. type AnalysisHandler struct { BaseHandler @@ -352,10 +363,7 @@ func (h AnalysisHandler) AppCreate(ctx *gin.Context) { return } reader := &AnalysisReader{} - f, err := reader.open( - file.Path, - "___BEGIN-ANALYSIS___", - "___END-ANALYSIS___") + f, err := reader.open(file.Path, BeginAnalysisMarker, EndAnalysisMarker) if err != nil { err = &BadRequestError{err.Error()} _ = ctx.Error(err) @@ -389,10 +397,7 @@ func (h AnalysisHandler) AppCreate(ctx *gin.Context) { // // Issues reader = &AnalysisReader{} - f, err = reader.open( - file.Path, - "___BEGIN-ISSUES___", - "___END-ISSUES___") + f, err = reader.open(file.Path, BeginIssuesMarker, EndIssuesMarker) if err != nil { err = &BadRequestError{err.Error()} _ = ctx.Error(err) @@ -425,10 +430,7 @@ func (h AnalysisHandler) AppCreate(ctx *gin.Context) { // // Dependencies reader = &AnalysisReader{} - f, err = reader.open( - file.Path, - "___BEGIN-DEPENDENCIES___", - "___END-DEPENDENCIES___") + f, err = reader.open(file.Path, BeginDepsMarker, EndDepsMarker) if err != nil { err = &BadRequestError{err.Error()} _ = ctx.Error(err) @@ -2889,7 +2891,7 @@ func (r *AnalysisReader) scan(path string) (err error) { defer func() { _ = r.file.Close() }() - pattern, err := regexp.Compile(`^___[A-Z-]+___$`) + pattern, err := regexp.Compile(`^\x1D[A-Z-]+\x1D$`) if err != nil { return } @@ -2957,7 +2959,6 @@ func (r *AnalysisReader) Read(b []byte) (n int, err error) { } if int64(n) > r.read { n = int(r.read) - b = b[:n] } r.read -= int64(n) if n < 1 { diff --git a/hack/add/analysis.sh b/hack/add/analysis.sh index cd48448b..f6b893bc 100755 --- a/hack/add/analysis.sh +++ b/hack/add/analysis.sh @@ -63,15 +63,15 @@ konveyor.io/target=jbpm # # Analysis # -echo "___BEGIN-ANALYSIS___" > ${file} +printf "\x1DBEGIN-ANALYSIS\x1D\n" > ${file} echo "--- commit: "1234" " >> ${file} -echo "___END-ANALYSIS___" >> ${file} +printf "\x1DEND-ANALYSIS\x1D\n" >> ${file} # # Issues # -echo "___BEGIN-ISSUES___" >> ${file} +printf "\x1DBEGIN-ISSUES\x1D\n" >> ${file} for r in $(seq 1 ${nRuleSet}) do for i in $(seq 1 ${nIssue}) @@ -155,8 +155,8 @@ fi done done done -echo "___END-ISSUES___ -___BEGIN-DEPENDENCIES___" >> ${file} +printf "\x1DEND-ISSUES\x1D +\x1DBEGIN-DEPENDENCIES\x1D\n" >> ${file} # # Deps #