display count

This commit is contained in:
2021-05-19 11:50:41 +02:00
parent 24ba0f4545
commit ced87ed51f
9 changed files with 133 additions and 8 deletions
@@ -5,10 +5,7 @@ import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.select.annotation.Wire; import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Label; import org.zkoss.zul.*;
import org.zkoss.zul.Tabbox;
import org.zkoss.zul.Tabs;
import org.zkoss.zul.Window;
import java.io.*; import java.io.*;
import java.net.URL; import java.net.URL;
@@ -2,6 +2,7 @@ package at.windesign.application.movie;
import com.omertron.themoviedbapi.MovieDbException; import com.omertron.themoviedbapi.MovieDbException;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Path;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.select.SelectorComposer; import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen; import org.zkoss.zk.ui.select.annotation.Listen;
@@ -39,6 +40,11 @@ public class movieDetailsSelectorComposer extends SelectorComposer<Component>
model.remove(index); model.remove(index);
model.add(index, movie); model.add(index, movie);
Window mainWindow = (Window)Path.getComponent("/mainWindow");
Tab tabMovies = (Tab)mainWindow.getFellow("tabMovies");
movieDataSource ds = movieDataSource.INSTANCE;
movieUtils.movieMetrics(tabMovies, ds);
detailsMovie.onClose(); detailsMovie.onClose();
} }
@@ -108,6 +114,11 @@ public class movieDetailsSelectorComposer extends SelectorComposer<Component>
} }
); );
Window mainWindow = (Window)Path.getComponent("/mainWindow");
Tab tabMovies = (Tab)mainWindow.getFellow("tabMovies");
movieDataSource ds = movieDataSource.INSTANCE;
movieUtils.movieMetrics(tabMovies, ds);
detailsMovie.onClose(); detailsMovie.onClose();
} }
@@ -3,13 +3,20 @@ package at.windesign.application.movie;
import at.windesign.application.serie.serieDataSource; import at.windesign.application.serie.serieDataSource;
import at.windesign.application.serie.serieUtils; import at.windesign.application.serie.serieUtils;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Listbox; import org.zkoss.zul.Listbox;
import org.zkoss.zul.Tab;
import org.zkoss.zul.Tabbox;
import org.zkoss.zul.Window;
public class movieListForwardComposer extends GenericForwardComposer public class movieListForwardComposer extends GenericForwardComposer
{ {
protected Listbox movieList; // autowired protected Listbox movieList; // autowired
@Wire
private Tab tabMovies;
@Override @Override
public void doAfterCompose(Component comp) throws Exception public void doAfterCompose(Component comp) throws Exception
{ {
@@ -17,5 +24,8 @@ public class movieListForwardComposer extends GenericForwardComposer
movieDataSource ds = movieDataSource.INSTANCE; movieDataSource ds = movieDataSource.INSTANCE;
movieUtils.loadMovies(ds, movieList); movieUtils.loadMovies(ds, movieList);
ds = movieDataSource.INSTANCE;
movieUtils.movieMetrics(tabMovies, ds);
} }
} }
@@ -2,6 +2,7 @@ package at.windesign.application.movie;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.Path;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.MouseEvent; import org.zkoss.zk.ui.event.MouseEvent;
import org.zkoss.zk.ui.select.SelectorComposer; import org.zkoss.zk.ui.select.SelectorComposer;
@@ -94,6 +95,11 @@ public class movieListSelectorComposer extends SelectorComposer<Component>
updateMovie(); updateMovie();
else if(label.compareToIgnoreCase("delete") == 0) else if(label.compareToIgnoreCase("delete") == 0)
deleteMovie(); deleteMovie();
Window mainWindow = (Window)Path.getComponent("/mainWindow");
Tab tabMovies = (Tab)mainWindow.getFellow("tabMovies");
movieDataSource ds = movieDataSource.INSTANCE;
movieUtils.movieMetrics(tabMovies, ds);
} }
public void setState(int state) public void setState(int state)
@@ -138,4 +138,51 @@ public class movieUtils
movie.setModel(movieListModel); movie.setModel(movieListModel);
} }
} }
static public void movieMetrics(Tab tabMovies, movieDataSource ds)
{
int moviesTotal = 0;
int moviesInit = 0;
int moviesProc = 0;
int moviesDone = 0;
try
{
Statement stmt = ds.getStatement();
ResultSet rs = stmt.executeQuery(
"SELECT COUNT(1) CNT, " +
" state " +
"FROM multimedia.movie " +
"GROUP BY state;");
while(rs.next())
{
int state = rs.getInt("state");
switch(state)
{
case 1:
moviesInit = rs.getInt("CNT");
break;
case 2:
moviesProc = rs.getInt("CNT");
break;
case 3:
moviesDone = rs.getInt("CNT");
break;
}
}
}
catch(SQLException e)
{
e.printStackTrace();
}
finally
{
ds.close();
}
moviesTotal = moviesInit + moviesProc + moviesDone;
tabMovies.setLabel("Movies (T: " + moviesTotal + " / I: " + moviesInit + " / P: " + moviesProc + " / D: " + moviesDone + ")");
}
} }
@@ -2,6 +2,7 @@ package at.windesign.application.serie;
import com.omertron.themoviedbapi.MovieDbException; import com.omertron.themoviedbapi.MovieDbException;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Path;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.select.SelectorComposer; import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen; import org.zkoss.zk.ui.select.annotation.Listen;
@@ -48,6 +49,11 @@ public class serieDetailsSelectorComposer extends SelectorComposer<Component>
model.remove(index); model.remove(index);
model.add(index, serie); model.add(index, serie);
Window mainWindow = (Window) Path.getComponent("/mainWindow");
Tab tabSeries = (Tab) mainWindow.getFellow("tabSeries");
serieDataSource ds = serieDataSource.INSTANCE;
serieUtils.serieMetrics(tabSeries, ds);
detailsSerie.onClose(); detailsSerie.onClose();
} }
@@ -107,6 +113,11 @@ public class serieDetailsSelectorComposer extends SelectorComposer<Component>
Listbox serieList = item.getListbox(); Listbox serieList = item.getListbox();
serieList.removeItemAt(item.getIndex()); serieList.removeItemAt(item.getIndex());
Window mainWindow = (Window) Path.getComponent("/mainWindow");
Tab tabSeries = (Tab) mainWindow.getFellow("tabSeries");
serieDataSource ds = serieDataSource.INSTANCE;
serieUtils.serieMetrics(tabSeries, ds);
detailsSerie.onClose(); detailsSerie.onClose();
} }
else if("onCancel".equals(e.getName())) else if("onCancel".equals(e.getName()))
@@ -1,7 +1,10 @@
package at.windesign.application.serie; package at.windesign.application.serie;
import at.windesign.application.movie.movieDataSource;
import at.windesign.application.movie.movieUtils;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Path;
import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.*; import org.zkoss.zul.*;
@@ -21,5 +24,10 @@ public class serieListForwardComposer extends GenericForwardComposer
serieDataSource ds = serieDataSource.INSTANCE; serieDataSource ds = serieDataSource.INSTANCE;
serieUtils.loadSeries(ds, seriesList); serieUtils.loadSeries(ds, seriesList);
Window mainWindow = (Window) Path.getComponent("/mainWindow");
Tab tabSeries = (Tab)mainWindow.getFellow("tabSeries");
ds = serieDataSource.INSTANCE;
serieUtils.serieMetrics(tabSeries, ds);
} }
} }
@@ -2,6 +2,7 @@ package at.windesign.application.serie;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.Path;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.MouseEvent; import org.zkoss.zk.ui.event.MouseEvent;
import org.zkoss.zk.ui.select.SelectorComposer; import org.zkoss.zk.ui.select.SelectorComposer;
@@ -94,7 +95,7 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
@Listen("onClick = menuitem") @Listen("onClick = menuitem")
public void onSeriePopup(MouseEvent event) public void onSeriePopup(MouseEvent event)
{ {
String label = ((LabelElement)event.getTarget()).getLabel(); String label = ((LabelElement) event.getTarget()).getLabel();
if(label.compareToIgnoreCase("set all Progress to Done") == 0) if(label.compareToIgnoreCase("set all Progress to Done") == 0)
setAllProgressToDone(); setAllProgressToDone();
@@ -129,7 +130,7 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
s.recalcState(); s.recalcState();
ListModelList model = s.getModel(); ListModelList model = s.getModel();
int index = item.getIndex(); int index = item.getIndex();
model.remove(index); model.remove(index);
model.add(index, s); model.add(index, s);
} }
@@ -141,7 +142,7 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
if(item == null) if(item == null)
return; return;
serieData m = (serieData) item.getValue(); serieData m = (serieData) item.getValue();
serieData mNew = new serieData(); serieData mNew = new serieData();
try try
@@ -151,7 +152,7 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
mNew.save(); mNew.save();
ListModelList model = m.getModel(); ListModelList model = m.getModel();
int index = item.getIndex(); int index = item.getIndex();
mNew.setModel(model); mNew.setModel(model);
model.remove(index); model.remove(index);
@@ -182,6 +183,11 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
{ {
s.delete(); s.delete();
seriesList.removeItemAt(item.getIndex()); seriesList.removeItemAt(item.getIndex());
Window mainWindow = (Window) Path.getComponent("/mainWindow");
Tab tabSeries = (Tab) mainWindow.getFellow("tabSeries");
serieDataSource ds = serieDataSource.INSTANCE;
serieUtils.serieMetrics(tabSeries, ds);
} }
else if("onCancel".equals(e.getName())) else if("onCancel".equals(e.getName()))
{ {
@@ -1,5 +1,6 @@
package at.windesign.application.serie; package at.windesign.application.serie;
import at.windesign.application.movie.movieDataSource;
import org.zkoss.zul.*; import org.zkoss.zul.*;
import java.sql.ResultSet; import java.sql.ResultSet;
@@ -340,4 +341,32 @@ public class serieUtils
return serie; return serie;
} }
static public void serieMetrics(Tab tabSeries, serieDataSource ds)
{
int seriesTotal = 0;
try
{
Statement stmt = ds.getStatement();
ResultSet rs = stmt.executeQuery(
"SELECT COUNT(1) CNT " +
"FROM multimedia.serie;");
while(rs.next())
{
seriesTotal = rs.getInt("CNT");
}
}
catch(SQLException e)
{
e.printStackTrace();
}
finally
{
ds.close();
}
tabSeries.setLabel("TV Shows (T: " + seriesTotal + ")");
}
} }