/** * Test method for {@link cpath.converter.internal.UniprotCleanerImpl#cleane(java.lang.String)}. * * @throws IOException */ @Test public void testCleaner() throws IOException { // read data from file and look for accessions before being cleaned ByteArrayOutputStream os = new ByteArrayOutputStream(); CPathUtils.unzip( new ZipInputStream( CPathUtils.LOADER.getResource("/test_uniprot_data.dat.zip").getInputStream()), os); byte[] bytes = os.toByteArray(); String data = new String(bytes); assertTrue(data.indexOf(CALR3_HUMAN_BEFORE) != -1); assertTrue(data.indexOf(CALRL_HUMAN_BEFORE) != -1); Cleaner cleaner = new UniProtCleanerImpl(); os.reset(); cleaner.clean(new ByteArrayInputStream(bytes), os); bytes = os.toByteArray(); data = new String(bytes); assertTrue(data.indexOf(CALR3_HUMAN_AFTER) != -1); assertTrue(data.indexOf(CALRL_HUMAN_AFTER) != -1); // dump owl for review String outFilename = getClass().getClassLoader().getResource("").getPath() + File.separator + "testCleanUniProt.out.dat"; Writer out = new OutputStreamWriter(new FileOutputStream(outFilename)); out.write(data); out.close(); }
// Upload (and replace if exists) a data archive for the existing data source @RequestMapping(value = "/admin/datasources/{identifier}/file", method = RequestMethod.POST) public void uploadDataArchive( @PathVariable String identifier, MultipartHttpServletRequest multiRequest, HttpServletResponse response) throws IOException { Metadata m = service.metadata().findByIdentifier(identifier); if (m == null) { response.sendError( Status.NO_RESULTS_FOUND.getErrorCode(), Status.NO_RESULTS_FOUND.getErrorMsg() + "; Metadata object with identifier: " + identifier + " not found."); } Map<String, MultipartFile> files = multiRequest.getFileMap(); Assert.state(!files.isEmpty(), "No files to validate"); String filename = files.keySet().iterator().next(); MultipartFile file = files.get(filename); String origFilename = file.getOriginalFilename(); if (file.getBytes().length == 0 || filename == null || "".equals(filename) || !origFilename.endsWith(".zip")) { log.error("uploadDataArchive(), empty data file or null: " + origFilename); response.sendError( Status.BAD_REQUEST.getErrorCode(), "File (" + origFilename + ") UPLOAD failed; id:" + identifier); } else { // create or update the input source data file (must be ZIP archive!) CPathUtils.write(file.getBytes(), m.getDataArchiveName()); log.info( "uploadDataArchive(), saved uploaded file:" + origFilename + " as " + m.getDataArchiveName()); } }