Skip to content

Commit e9570f9

Browse files
committed
Small changes.
1 parent e90225f commit e9570f9

File tree

4 files changed

+99
-108
lines changed

4 files changed

+99
-108
lines changed

MassBank-Project/MassBank-lib/src/main/java/massbank/Record.java

Lines changed: 63 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,11 @@
2020
******************************************************************************/
2121
package massbank;
2222

23-
import java.math.BigDecimal;
24-
import java.time.Instant;
25-
import java.util.ArrayList;
26-
import java.util.Arrays;
27-
import java.util.HashMap;
28-
import java.util.LinkedHashMap;
29-
import java.util.List;
30-
import java.util.Map;
31-
import java.util.regex.Matcher;
32-
import java.util.regex.Pattern;
23+
import com.google.gson.Gson;
24+
import com.google.gson.GsonBuilder;
25+
import com.google.gson.JsonArray;
26+
import com.google.gson.JsonObject;
27+
import io.github.dan2097.jnainchi.InchiStatus;
3328
import org.apache.commons.lang3.tuple.Pair;
3429
import org.apache.commons.lang3.tuple.Triple;
3530
import org.apache.logging.log4j.LogManager;
@@ -44,12 +39,11 @@
4439
import org.openscience.cdk.smiles.SmilesParser;
4540
import org.openscience.cdk.tools.manipulator.MolecularFormulaManipulator;
4641

47-
import com.google.gson.Gson;
48-
import com.google.gson.GsonBuilder;
49-
import com.google.gson.JsonArray;
50-
import com.google.gson.JsonObject;
51-
52-
import io.github.dan2097.jnainchi.InchiStatus;
42+
import java.math.BigDecimal;
43+
import java.time.Instant;
44+
import java.util.*;
45+
import java.util.regex.Matcher;
46+
import java.util.regex.Pattern;
5347

5448
/**
5549
* This class keeps all data of a record.
@@ -93,42 +87,42 @@ public class Record {
9387
private List<Pair<String, String>> MS$DATA_PROCESSING; // optional
9488
private String PK$SPLASH;
9589
private List<String> PK$ANNOTATION_HEADER; // optional
96-
private List<Pair<BigDecimal, List<String>>> PK$ANNOTATION; // optional
97-
private List<Triple<BigDecimal,BigDecimal,Integer>> PK$PEAK;
90+
private final List<Pair<BigDecimal, List<String>>> PK$ANNOTATION; // optional
91+
private final List<Triple<BigDecimal,BigDecimal,Integer>> PK$PEAK;
9892

9993
public Record() {
100-
contributor = new String();
101-
ACCESSION = new String();
94+
contributor = "";
95+
ACCESSION = "";
10296
deprecated = false;
103-
deprecated_content = new String();
97+
deprecated_content = "";
10498
RECORD_TITLE = new ArrayList<String>();
105-
DATE = new String();
106-
AUTHORS = new String();
107-
LICENSE = new String();
108-
COPYRIGHT = new String(); // optional
109-
PUBLICATION = new String(); // optional
110-
PROJECT = new String(); // optional
99+
DATE = "";
100+
AUTHORS = "";
101+
LICENSE = "";
102+
COPYRIGHT = ""; // optional
103+
PUBLICATION = ""; // optional
104+
PROJECT = ""; // optional
111105
COMMENT = new ArrayList<String>(); // optional
112106
CH$NAME = new ArrayList<String>();
113107
CH$COMPOUND_CLASS = new ArrayList<String>();
114-
CH$FORMULA = new String();
108+
CH$FORMULA = "";
115109
CH$EXACT_MASS = new BigDecimal(0);
116-
CH$SMILES = new String();
117-
CH$IUPAC = new String();
110+
CH$SMILES = "";
111+
CH$IUPAC = "";
118112
CH$LINK = new LinkedHashMap<String, String>(); // optional
119-
SP$SCIENTIFIC_NAME = new String(); // optional
120-
SP$LINEAGE = new String(); // optional
113+
SP$SCIENTIFIC_NAME = ""; // optional
114+
SP$LINEAGE = ""; // optional
121115
SP$LINK = new LinkedHashMap<String, String>(); // optional
122116
SP$SAMPLE = new ArrayList<String>(); // optional
123-
AC$INSTRUMENT = new String();
124-
AC$INSTRUMENT_TYPE = new String();
125-
AC$MASS_SPECTROMETRY_MS_TYPE = new String();
126-
AC$MASS_SPECTROMETRY_ION_MODE = new String();
117+
AC$INSTRUMENT = "";
118+
AC$INSTRUMENT_TYPE = "";
119+
AC$MASS_SPECTROMETRY_MS_TYPE = "";
120+
AC$MASS_SPECTROMETRY_ION_MODE = "";
127121
AC$MASS_SPECTROMETRY = new ArrayList<Pair<String, String>>(); // optional
128122
AC$CHROMATOGRAPHY = new ArrayList<Pair<String, String>>(); // optional
129123
MS$FOCUSED_ION = new ArrayList<Pair<String, String>>(); // optional
130124
MS$DATA_PROCESSING = new ArrayList<Pair<String, String>>(); // optional
131-
PK$SPLASH = new String();
125+
PK$SPLASH = "";
132126
PK$ANNOTATION_HEADER = new ArrayList<String>(); // optional
133127
PK$ANNOTATION = new ArrayList<Pair<BigDecimal, List<String>>>(); // optional
134128
PK$PEAK = new ArrayList<Triple<BigDecimal,BigDecimal,Integer>>();
@@ -474,54 +468,53 @@ public void PK_PEAK_ADD_LINE(Triple<BigDecimal,BigDecimal,Integer> peak) {
474468
public String toString() {
475469
StringBuilder sb = new StringBuilder();
476470

477-
sb.append("ACCESSION: " + ACCESSION() + "\n");
471+
sb.append("ACCESSION: ").append(ACCESSION()).append("\n");
478472
if (DEPRECATED()) {
479-
sb.append("DEPRECATED: ");
480-
sb.append(DEPRECATED_CONTENT());
473+
sb.append("DEPRECATED: ").append(DEPRECATED_CONTENT());
481474
return sb.toString();
482475
}
483-
sb.append("RECORD_TITLE: " + RECORD_TITLE1() + "\n");
484-
sb.append("DATE: " + DATE() + "\n");
485-
sb.append("AUTHORS: " + AUTHORS() + "\n");
486-
sb.append("LICENSE: " + LICENSE() + "\n");
476+
sb.append("RECORD_TITLE: ").append(RECORD_TITLE1()).append("\n");
477+
sb.append("DATE: ").append(DATE()).append("\n");
478+
sb.append("AUTHORS: ").append(AUTHORS()).append("\n");
479+
sb.append("LICENSE: ").append(LICENSE()).append("\n");
487480
if (!"".equals(COPYRIGHT()))
488-
sb.append("COPYRIGHT: " + COPYRIGHT() + "\n");
481+
sb.append("COPYRIGHT: ").append(COPYRIGHT()).append("\n");
489482
if (!"".equals(PUBLICATION()))
490-
sb.append("PUBLICATION: " + PUBLICATION() + "\n");
483+
sb.append("PUBLICATION: ").append(PUBLICATION()).append("\n");
491484
if (!"".equals(PROJECT()))
492-
sb.append("PROJECT: " + PROJECT() + "\n");
485+
sb.append("PROJECT: ").append(PROJECT()).append("\n");
493486
for (String comment : COMMENT())
494-
sb.append("COMMENT: " + comment + "\n");
487+
sb.append("COMMENT: ").append(comment).append("\n");
495488

496489
for (String ch_name : CH_NAME())
497-
sb.append("CH$NAME: " + ch_name + "\n");
490+
sb.append("CH$NAME: ").append(ch_name).append("\n");
498491
if (!CH_COMPOUND_CLASS().isEmpty()) {
499-
sb.append("CH$COMPOUND_CLASS: " + String.join("; ", CH_COMPOUND_CLASS()) + "\n");
492+
sb.append("CH$COMPOUND_CLASS: ").append(String.join("; ", CH_COMPOUND_CLASS())).append("\n");
500493
}
501-
sb.append("CH$FORMULA: " + CH_FORMULA() + "\n");
502-
sb.append("CH$EXACT_MASS: " + CH_EXACT_MASS() + "\n");
503-
sb.append("CH$SMILES: " + CH_SMILES() + "\n");
504-
sb.append("CH$IUPAC: " + CH_IUPAC() + "\n");
494+
sb.append("CH$FORMULA: ").append(CH_FORMULA()).append("\n");
495+
sb.append("CH$EXACT_MASS: ").append(CH_EXACT_MASS()).append("\n");
496+
sb.append("CH$SMILES: ").append(CH_SMILES()).append("\n");
497+
sb.append("CH$IUPAC: ").append(CH_IUPAC()).append("\n");
505498
CH_LINK().forEach((key,value) -> {
506-
sb.append("CH$LINK: " + key + " " + value + "\n");
499+
sb.append("CH$LINK: ").append(key).append(" ").append(value).append("\n");
507500
});
508501

509502
if (!"".equals(SP_SCIENTIFIC_NAME()))
510-
sb.append("SP$SCIENTIFIC_NAME: " + SP_SCIENTIFIC_NAME() + "\n");
503+
sb.append("SP$SCIENTIFIC_NAME: ").append(SP_SCIENTIFIC_NAME()).append("\n");
511504
if (!"".equals(SP_LINEAGE()))
512-
sb.append("SP$LINEAGE: " + SP_LINEAGE() + "\n");
505+
sb.append("SP$LINEAGE: ").append(SP_LINEAGE()).append("\n");
513506
SP_LINK().forEach((key,value) -> {
514-
sb.append("SP$LINK: " + key + " " + value + "\n");
507+
sb.append("SP$LINK: ").append(key).append(" ").append(value).append("\n");
515508
});
516509
for (String sample : SP_SAMPLE())
517-
sb.append("SP$SAMPLE: " + sample + "\n");
510+
sb.append("SP$SAMPLE: ").append(sample).append("\n");
518511

519-
sb.append("AC$INSTRUMENT: " + AC_INSTRUMENT() + "\n");
520-
sb.append("AC$INSTRUMENT_TYPE: " + AC_INSTRUMENT_TYPE() + "\n");
521-
sb.append("AC$MASS_SPECTROMETRY: MS_TYPE " + AC_MASS_SPECTROMETRY_MS_TYPE() + "\n");
522-
sb.append("AC$MASS_SPECTROMETRY: ION_MODE " + AC_MASS_SPECTROMETRY_ION_MODE() + "\n");
512+
sb.append("AC$INSTRUMENT: ").append(AC_INSTRUMENT()).append("\n");
513+
sb.append("AC$INSTRUMENT_TYPE: ").append(AC_INSTRUMENT_TYPE()).append("\n");
514+
sb.append("AC$MASS_SPECTROMETRY: MS_TYPE ").append(AC_MASS_SPECTROMETRY_MS_TYPE()).append("\n");
515+
sb.append("AC$MASS_SPECTROMETRY: ION_MODE ").append(AC_MASS_SPECTROMETRY_ION_MODE()).append("\n");
523516
for (Pair<String,String> ac_mass_spectrometry : AC_MASS_SPECTROMETRY())
524-
sb.append("AC$MASS_SPECTROMETRY: " + ac_mass_spectrometry.getKey() + " " + ac_mass_spectrometry.getValue() + "\n");
517+
sb.append("AC$MASS_SPECTROMETRY: ").append(ac_mass_spectrometry.getKey()).append(" ").append(ac_mass_spectrometry.getValue()).append("\n");
525518
for (Pair<String,String> ac_chromatography : AC_CHROMATOGRAPHY())
526519
sb.append("AC$CHROMATOGRAPHY: " + ac_chromatography.getKey() + " " + ac_chromatography.getValue() + "\n");
527520
for (Pair<String,String> ms_focued_ion : MS_FOCUSED_ION())
@@ -580,7 +573,7 @@ public String createRecordString() {
580573
if (!"".equals(PUBLICATION())) {
581574
String pub=PUBLICATION();
582575
String regex_doi = "10\\.\\d{3,9}\\/[\\-\\._;\\(\\)\\/:a-zA-Z0-9]+[a-zA-Z0-9]";
583-
String regex_pmid = "PMID:[ ]?\\d{8,8}";
576+
String regex_pmid = "PMID:[ ]?\\d{8}";
584577
Pattern pattern_doi = Pattern.compile(".*" + "(" + regex_doi+ ")" + ".*");
585578
Pattern pattern_pmid = Pattern.compile(".*" + "(" + regex_pmid + ")" + ".*");
586579
Matcher matcher_doi = pattern_doi.matcher(pub);
@@ -841,7 +834,7 @@ public JsonArray createStructuredDataJsonArray() {
841834
chemicalSubstance.addProperty("url", "https://massbank.eu/MassBank/RecordDisplay?id="+ACCESSION());
842835
chemicalSubstance.addProperty("chemicalComposition", CH_FORMULA());
843836
if (CH_NAME().size() == 1) chemicalSubstance.addProperty("alternateName", CH_NAME().get(0));
844-
else if (CH_NAME().size() >= 1) chemicalSubstance.add("alternateName", gson.toJsonTree(CH_NAME()));
837+
else if (!CH_NAME().isEmpty()) chemicalSubstance.add("alternateName", gson.toJsonTree(CH_NAME()));
845838

846839
JsonArray molecularEntitys = new JsonArray();
847840

@@ -901,25 +894,11 @@ public JsonObject createPeakListData() {
901894
result.add("peaks", peaklist);
902895
return result;
903896
}
904-
905-
public static class Structure{
906-
public final String CH_SMILES;
907-
public final String CH_IUPAC;
908-
public Structure(String CH_SMILES, String CH_IUPAC) {
909-
this.CH_SMILES = CH_SMILES;
910-
this.CH_IUPAC = CH_IUPAC;
911-
}
897+
898+
public record Structure(String CH_SMILES, String CH_IUPAC) {
912899
}
913-
914-
public static class Contributor{
915-
public final String ACRONYM;
916-
public final String SHORT_NAME;
917-
public final String FULL_NAME;
918-
public Contributor(String ACRONYM, String SHORT_NAME, String FULL_NAME) {
919-
this.ACRONYM = ACRONYM;
920-
this.SHORT_NAME = SHORT_NAME;
921-
this.FULL_NAME = FULL_NAME;
922-
}
900+
901+
public record Contributor(String ACRONYM, String SHORT_NAME, String FULL_NAME) {
923902
}
924903

925904
private static Map<String, String> listToMap(List<Pair<String, String>> list) {
Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,38 @@
1+
/*******************************************************************************
2+
* Copyright (C) 2017 MassBank consortium
3+
*
4+
* This file is part of MassBank.
5+
*
6+
* MassBank is free software; you can redistribute it and/or
7+
* modify it under the terms of the GNU General Public License
8+
* as published by the Free Software Foundation; either version 2
9+
* of the License, or (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU General Public License
17+
* along with this program; if not, write to the Free Software
18+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19+
*
20+
******************************************************************************/
121
package massbank.export;
222

23+
import com.google.gson.Gson;
24+
import com.google.gson.GsonBuilder;
25+
import com.google.gson.JsonArray;
26+
import massbank.Record;
27+
import org.apache.logging.log4j.LogManager;
28+
import org.apache.logging.log4j.Logger;
29+
import org.openscience.cdk.exception.CDKException;
30+
331
import java.io.BufferedWriter;
432
import java.io.File;
533
import java.io.FileWriter;
634
import java.io.IOException;
735
import java.util.List;
8-
import org.apache.logging.log4j.LogManager;
9-
import org.apache.logging.log4j.Logger;
10-
import org.openscience.cdk.exception.CDKException;
11-
12-
import com.google.gson.Gson;
13-
import com.google.gson.GsonBuilder;
14-
import com.google.gson.JsonArray;
15-
16-
17-
import massbank.Record;
1836

1937
/**
2038
* Convert Record structure to json+ld structured data.
@@ -32,8 +50,7 @@ public static String convert(List<Record> records) {
3250
}
3351

3452
Gson gson = new GsonBuilder().setPrettyPrinting().create();
35-
String recordJson = gson.toJson(allRecords);
36-
return recordJson;
53+
return gson.toJson(allRecords);
3754
}
3855

3956
/**
@@ -46,16 +63,11 @@ public static String convert(List<Record> records) {
4663
public static void recordsToJson(File file, List<Record> records) {
4764
// collect data
4865
String recordJson = convert(records);
49-
50-
BufferedWriter writer;
51-
try {
52-
writer = new BufferedWriter(new FileWriter(file));
66+
67+
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
5368
writer.write(recordJson);
54-
writer.close();
5569
} catch (IOException e) {
56-
// TODO Auto-generated catch block
57-
e.printStackTrace();
70+
logger.error("Error writing JSON to file", e);
5871
}
5972
}
60-
6173
}

MassBank-Project/MassBank-web/src/main/webapp/QpeakResult.jsp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@
457457
}
458458
459459
// レコードページへのリンクURLをセット
460-
String contributor = DatabaseManager.getContributorFromAccession(id).SHORT_NAME;
460+
String contributor = DatabaseManager.getContributorFromAccession(id).SHORT_NAME();
461461
// typeName = MassBankCommon.CGI_TBL[MassBankCommon.CGI_TBL_NUM_TYPE][MassBankCommon.CGI_TBL_TYPE_DISP];
462462
// String linkUrl = MassBankCommon.DISPATCHER_NAME + "?type=" + typeName
463463
// + "&id=" + id + "&site=" + site + "&qmz=" + paramMz.toString() + "&CUTOFF=" + pCutoff + "&dsn=" + contributor;
@@ -501,7 +501,7 @@
501501
502502
Record.Structure structure = DatabaseManager.getStructureOfAccession(accession);
503503
ClickablePreviewImageData clickablePreviewImageData = StructureToSvgStringGenerator.createClickablePreviewImage(
504-
accession, structure.CH_IUPAC, structure.CH_SMILES, tmpFileFolder, tmpUrlFolder,
504+
accession, structure.CH_IUPAC(), structure.CH_SMILES(), tmpFileFolder, tmpUrlFolder,
505505
80, 436
506506
);
507507

MassBank-Project/MassBank-web/src/main/webapp/Result.jsp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,7 @@
11151115
// レコードページ表示用URL生成
11161116
String url = "";
11171117
// ◇ PeakSearch/PeakDifferenceSearchの場合
1118-
String contributor = DatabaseManager.getContributorFromAccession(rec.getId()).SHORT_NAME;
1118+
String contributor = DatabaseManager.getContributorFromAccession(rec.getId()).SHORT_NAME();
11191119
11201120
// if ( refPeak || refPeakDiff ) {
11211121
// if ( refPeak ) {
@@ -1201,7 +1201,7 @@
12011201
12021202
Record.Structure structure = DatabaseManager.getStructureOfAccession(accession);
12031203
ClickablePreviewImageData clickablePreviewImageData = StructureToSvgStringGenerator.createClickablePreviewImage(
1204-
accession, structure.CH_IUPAC, structure.CH_SMILES, tmpFileFolder, tmpUrlFolder,
1204+
accession, structure.CH_IUPAC(), structure.CH_SMILES(), tmpFileFolder, tmpUrlFolder,
12051205
80, 436
12061206
);
12071207

0 commit comments

Comments
 (0)