55import java .security .MessageDigest ;
66import java .security .NoSuchAlgorithmException ;
77import java .util .*;
8+
9+ import bms .table .DifficultyTable ;
10+ import bms .table .DifficultyTableElement ;
11+ import bms .table .DifficultyTableParser ;
812import org .slf4j .Logger ;
913import org .slf4j .LoggerFactory ;
1014import java .util .stream .Collectors ;
1418import bms .model .Mode ;
1519import bms .player .beatoraja .CourseData .TrophyData ;
1620import bms .player .beatoraja .song .SongData ;
17- import bms .table .Course .Trophy ;
18- import bms .table .*;
1921
2022/**
2123 * 難易度表データアクセス用クラス
@@ -168,44 +170,39 @@ public DifficultyTableAccessor(String tabledir, String url) {
168170
169171 @ Override
170172 public TableData read () {
171- DifficultyTableParser dtp = new DifficultyTableParser ();
172- DifficultyTable dt = new DifficultyTable ();
173- if (url .endsWith (".json" )) {
174- dt .setHeadURL (url );
175- } else {
176- dt .setSourceURL (url );
177- }
173+ DifficultyTableParser parser = new DifficultyTableParser ();
178174 try {
179- dtp . decode ( true , dt );
175+ DifficultyTable dt = parser . parse ( url );
180176 TableData td = new TableData ();
181177 td .setUrl (url );
182178 td .setName (dt .getName ());
183- td .setTag (dt .getTag ());
184- Mode defaultMode = dt .getMode () != null ? Mode .getMode (dt .getMode ()) : null ;
179+ // td.setTag(dt.getTag());
180+ // Mode defaultMode = dt.getMode() != null ? Mode.getMode(dt.getMode()) : null;
181+ Mode defaultMode = null ;
185182 td .setFolder (Stream .of (dt .getLevelDescription ()).map (lv -> {
186183 TableData .TableFolder tde = new TableData .TableFolder ();
187184 tde .setName (td .getTag () + lv );
188- tde .setSong (Stream . of ( dt .getElements ()).filter (dte -> lv .equals (dte .getLevel ()))
185+ tde .setSong (dt .getElements (). stream ( ).filter (dte -> lv .equals (dte .getLevel ()))
189186 .map (dte -> toSongData (dte , defaultMode )).toArray (SongData []::new ));
190187 return tde ;
191188 }).toArray (TableData .TableFolder []::new ));
192189
193- if (dt .getCourse () != null && dt . getCourse (). length > 0 ) {
194- td .setCourse (Stream . of ( dt .getCourse ()). flatMap ( courses -> Stream . of ( courses ) ).map (g -> {
190+ if (! dt .getCourse (). isEmpty () ) {
191+ td .setCourse (dt .getCourse (). stream ( ).map (g -> {
195192 CourseData cd = new CourseData ();
196193 cd .setName (g .getName ());
197- cd .setSong (Stream . of ( g .getCharts ()).map (chart -> toSongData (chart , defaultMode ))
194+ cd .setSong (g .getCharts (). stream ( ).map (chart -> toSongData (chart , defaultMode ))
198195 .toArray (SongData []::new ));
199196
200- cd .setConstraint (Stream . of ( g .getConstraint ()).map (c -> CourseData .CourseDataConstraint . getValue ( c ) )
197+ cd .setConstraint (g .getConstraint (). stream ( ).map (CourseData .CourseDataConstraint :: getValue )
201198 .filter (Objects ::nonNull ).toArray (CourseData .CourseDataConstraint []::new ));
202199
203- if (g .getTrophy () != null ) {
204- cd .setTrophy (Stream . of ( g .getTrophy ()).map (trophy -> {
200+ if (! g .getTrophy (). isEmpty () ) {
201+ cd .setTrophy (g .getTrophy (). stream ( ).map (trophy -> {
205202 TrophyData t = new TrophyData ();
206203 t .setName (trophy .getName ());
207- t .setMissrate ((float ) trophy .getMissrate ());
208- t .setScorerate ((float ) trophy .getScorerate ());
204+ t .setMissrate ((float ) trophy .getMissRate ());
205+ t .setScorerate ((float ) trophy .getScoreRate ());
209206 return t ;
210207 }).toArray (TrophyData []::new ));
211208 }
@@ -229,27 +226,24 @@ public void write(TableData td) {
229226 }
230227 }
231228
232- private static SongData toSongData (BMSTableElement te , Mode defaultMode ) {
229+ private static SongData toSongData (DifficultyTableElement te , Mode defaultMode ) {
233230 SongData song = new SongData ();
234- if (te .getMD5 () != null ) {
235- song .setMd5 (te .getMD5 ().toLowerCase ());
231+ if (te .getMd5 () != null ) {
232+ song .setMd5 (te .getMd5 ().toLowerCase ());
236233 }
237- if (te .getSHA256 () != null ) {
238- song .setSha256 (te .getSHA256 ().toLowerCase ());
234+ if (te .getSha256 () != null ) {
235+ song .setSha256 (te .getSha256 ().toLowerCase ());
239236 }
240237 song .setTitle (te .getTitle ());
241238 song .setArtist (te .getArtist ());
242239 Mode mode = te .getMode () != null ? Mode .getMode (te .getMode ()) : null ;
243240 song .setMode (mode != null ? mode .id : (defaultMode != null ? defaultMode .id : 0 ));
244- song .setUrl (te .getURL ());
245- song .setIpfs (te .getIPFS ());
246- song .setOrg_md5 (te .getParentHash ());
247- if (te instanceof DifficultyTableElement ) {
248- DifficultyTableElement dte = (DifficultyTableElement ) te ;
249- song .setAppendurl (dte .getAppendURL ());
250- song .setAppendIpfs (dte .getAppendIPFS ());
251- }
252-
241+ song .setUrl (te .getUrl ());
242+ song .setIpfs (te .getIpfs ());
243+ // song.setOrg_md5(te.getParentHash());
244+ song .setAppendurl (te .getAppendURL ());
245+ song .setAppendIpfs (te .getAppendIPFS ());
246+
253247 return song ;
254248 }
255249}
0 commit comments