URL url = server.getPeriodURL(period);
String urlText = url.toString();
- if(period.isHot()) urlText += "#bottom";
WebIPCDialog.showDialog(getTopFrame(), urlText);
* @param force trueならPeriodデータを強制再読み込み。
*/
private void updatePeriod(final boolean force){
- TabBrowser tabBrowser = this.topView.getTabBrowser();
-
Village village = getVillage();
if(village == null) return;
if(period == null) return;
Runnable task = () -> {
- boolean wasHot = period.isHot();
try{
PeriodLoader.parsePeriod(period, force);
}catch(IOException e){
return;
}
- if(wasHot && ! period.isHot() ){
- try{
- if( ! village.hasSchedule() ){
- VillageInfoLoader.updateVillageInfo(village);
- }
- }catch(IOException e){
- showNetworkError(village, e);
- return;
- }
- EventQueue.invokeLater(() -> {
- tabBrowser.setVillage(village);
- });
- }
-
EventQueue.invokeLater(() -> {
int lastPos = periodView.getVerticalPosition();
periodView.showTopics();
/**
- * この Period が進行中の村の最新日で、
- * 今まさに次々と発言が蓄積されているときは
- * true になる。
- * ※重要: Hot な Period は meslog クエリーを使ってダウンロードできない。
- */
- private boolean isHot;
-
-
- /**
* Periodを生成する。
* この段階では発言データのロードは行われない。
* デフォルトで非Hot状態。
unload();
- this.isHot = isHot;
-
return;
}
}
/**
- * Hotか否か返す。
- * @return Hotか否か
- */
- public boolean isHot(){
- return this.isHot;
- }
-
- /**
- * Hotか否か設定する。
- * @param isHotArg Hot指定
- */
- public void setHot(boolean isHotArg){
- this.isHot = isHotArg;
- }
-
- /**
* プロローグか否か判定する。
* @return プロローグならtrue
*/
Village village = getVillage();
result.append(village.getCGIQuery());
- if(isHot()){
- result.append("&mes=all"); // 全表示指定
- return result.toString();
- }
-
Land land = village.getParentLand();
LandDef ldef = land.getLandDef();
this.loginName = null;
this.isFullOpen = false;
- this.isHot = false;
-
this.topicList.clear();
return;
HtmlSequence html = server.getHTMLPeriod(period);
DecodedContent content = html.getContent();
- // 2020-02の時点でHotなPeriodは存在しない。
- boolean wasHot = period.isHot();
-
period.clearTopicList();
HtmlParser parser = new HtmlParser();
parser.reset();
handler.reset();
- /*
- 2020-02の時点で、
- 日付更新によるリロードを必要とするHotなPeriodは存在しない。
- */
- if(wasHot && ! period.isHot() ){
- parsePeriod(period, true);
- return;
- }
-
return;
}