4848import org .labkey .api .sequenceanalysis .SequenceAnalysisService ;
4949import org .labkey .api .util .FileType ;
5050import org .labkey .api .util .FileUtil ;
51+ import org .labkey .api .util .HtmlString ;
5152import org .labkey .api .util .PageFlowUtil ;
5253import org .labkey .api .util .StringUtilsLabKey ;
5354import org .labkey .api .util .URLHelper ;
@@ -136,13 +137,13 @@ public ModelAndView getView(ExportAlignmentsForm form, BindException errors) thr
136137 ExpData d = ExperimentService .get ().getExpData (r .getVdjFile ());
137138 if (d == null )
138139 {
139- writer .write ("ERROR: Unable to find VDJCA file for row: " + r .getRowId () + ", ExpData: " + r .getVdjFile () + "\n " );
140+ writer .write ("ERROR: Unable to find VDJCA file for row: " + r .getRowId () + ", ExpData: " + PageFlowUtil . filter ( r .getVdjFile () ) + "\n " );
140141 return ;
141142 }
142143
143144 if (!d .getFile ().exists ())
144145 {
145- writer .write ("ERROR: Unable to find VDJCA file for row: " + r .getRowId () + ", file does not exist: " + d .getFile ().getPath () + "\n " );
146+ writer .write ("ERROR: Unable to find VDJCA file for row: " + r .getRowId () + ", file does not exist: " + PageFlowUtil . filter ( d .getFile ().getPath () ) + "\n " );
146147 return ;
147148 }
148149
@@ -184,20 +185,20 @@ public ModelAndView getView(ExportAlignmentsForm form, BindException errors) thr
184185 {
185186 wrapper .doExportAlignmentsPretty (f , tmp , args );
186187
187- writer .write ("File: " + f .getName () + '\n' );
188+ writer .write ("File: " + PageFlowUtil . filter ( f .getName () ) + '\n' );
188189 writer .write ("Result Rows From This File: " + '\n' );
189190 for (AssayRecord r : VDJMap .get (f ))
190191 {
191- writer .write ("Sample: " + r .getSampleName () + '\n' );
192- writer .write ("Sample Date: " + (r .getDate () == null ? "" : fmt .format (r .getDate ())) + '\n' );
193- writer .write ("CDR3: " + coalesce (r .getCDR3 ()) + '\n' );
194- writer .write ("vHit: " + coalesce (r .getvHit ()) + '\n' );
195- writer .write ("dHit: " + coalesce (r .getdHit ()) + '\n' );
196- writer .write ("jHit: " + coalesce (r .getjHit ()) + '\n' );
197- writer .write ("cHit: " + coalesce (r .getcHit ()) + '\n' );
198- writer .write ("Read Count: " + coalesce (r .getCount ()) + '\n' );
199- writer .write ("Fraction: " + coalesce (r .getFraction ()) + '\n' );
200- writer .write ("Comments: " + coalesce (r .getComment ()) + '\n' );
192+ writer .write ("Sample: " + PageFlowUtil . filter ( r .getSampleName () ) + '\n' );
193+ writer .write ("Sample Date: " + PageFlowUtil . filter (r .getDate () == null ? "" : fmt .format (r .getDate ())) + '\n' );
194+ writer .write ("CDR3: " + PageFlowUtil . filter ( coalesce (r .getCDR3 () )) + '\n' );
195+ writer .write ("vHit: " + PageFlowUtil . filter ( coalesce (r .getvHit () )) + '\n' );
196+ writer .write ("dHit: " + PageFlowUtil . filter ( coalesce (r .getdHit () )) + '\n' );
197+ writer .write ("jHit: " + PageFlowUtil . filter ( coalesce (r .getjHit () )) + '\n' );
198+ writer .write ("cHit: " + PageFlowUtil . filter ( coalesce (r .getcHit () )) + '\n' );
199+ writer .write ("Read Count: " + PageFlowUtil . filter ( coalesce (r .getCount () )) + '\n' );
200+ writer .write ("Fraction: " + PageFlowUtil . filter ( coalesce (r .getFraction () )) + '\n' );
201+ writer .write ("Comments: " + PageFlowUtil . filter ( coalesce (r .getComment () )) + '\n' );
201202 writer .write ('\n' );
202203 }
203204 writer .write ('\n' );
@@ -207,7 +208,7 @@ public ModelAndView getView(ExportAlignmentsForm form, BindException errors) thr
207208 boolean inAlignmentBlock = false ;
208209 while ((line = reader .readLine ()) != null )
209210 {
210- line = line . replaceAll ( "<" , "<" ). replaceAll ( ">" , ">" );
211+ line = PageFlowUtil . filter ( line );
211212
212213 String trimmed = StringUtils .trimToEmpty (line );
213214 if (StringUtils .isEmpty (trimmed ))
@@ -232,7 +233,7 @@ public ModelAndView getView(ExportAlignmentsForm form, BindException errors) thr
232233 }
233234 else
234235 {
235- sb .append (c );
236+ sb .append (PageFlowUtil . filter ( c ) );
236237 }
237238 }
238239
@@ -265,7 +266,7 @@ public ModelAndView getView(ExportAlignmentsForm form, BindException errors) thr
265266 //mixcr exportReadsForClones index_file alignments.vdjca.gz 0 1 2 33 54 reads.fastq.gz
266267 //mixcr exportAlignmentsPretty input.vdjca test.txt
267268
268- return new HtmlView ("MiXCR Alignments" , "<div style=\" font-family:courier,Courier New,monospace;white-space:nowrap;padding:5px;\" ><pre>" + writer + "</pre></div>" );
269+ return new HtmlView ("MiXCR Alignments" , HtmlString . unsafe ( "<div style=\" font-family:courier,Courier New,monospace;white-space:nowrap;padding:5px;\" ><pre>" + writer + "</pre></div>" ) );
269270 }
270271
271272 private String coalesce (Object s )
0 commit comments