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.select.annotation.Wire;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Label;
import org.zkoss.zul.Tabbox;
import org.zkoss.zul.Tabs;
import org.zkoss.zul.Window;
import org.zkoss.zul.*;
import java.io.*;
import java.net.URL;
@@ -2,6 +2,7 @@ package at.windesign.application.movie;
import com.omertron.themoviedbapi.MovieDbException;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Path;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen;
@@ -39,6 +40,11 @@ public class movieDetailsSelectorComposer extends SelectorComposer<Component>
model.remove(index);
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();
}
@@ -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();
}
@@ -3,13 +3,20 @@ package at.windesign.application.movie;
import at.windesign.application.serie.serieDataSource;
import at.windesign.application.serie.serieUtils;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zk.ui.util.GenericForwardComposer;
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
{
protected Listbox movieList; // autowired
@Wire
private Tab tabMovies;
@Override
public void doAfterCompose(Component comp) throws Exception
{
@@ -17,5 +24,8 @@ public class movieListForwardComposer extends GenericForwardComposer
movieDataSource ds = movieDataSource.INSTANCE;
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.Executions;
import org.zkoss.zk.ui.Path;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.MouseEvent;
import org.zkoss.zk.ui.select.SelectorComposer;
@@ -94,6 +95,11 @@ public class movieListSelectorComposer extends SelectorComposer<Component>
updateMovie();
else if(label.compareToIgnoreCase("delete") == 0)
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)
@@ -138,4 +138,51 @@ public class movieUtils
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 org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Path;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen;
@@ -48,6 +49,11 @@ public class serieDetailsSelectorComposer extends SelectorComposer<Component>
model.remove(index);
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();
}
@@ -107,6 +113,11 @@ public class serieDetailsSelectorComposer extends SelectorComposer<Component>
Listbox serieList = item.getListbox();
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();
}
else if("onCancel".equals(e.getName()))
@@ -1,7 +1,10 @@
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.Path;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.*;
@@ -21,5 +24,10 @@ public class serieListForwardComposer extends GenericForwardComposer
serieDataSource ds = serieDataSource.INSTANCE;
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.Executions;
import org.zkoss.zk.ui.Path;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.MouseEvent;
import org.zkoss.zk.ui.select.SelectorComposer;
@@ -94,7 +95,7 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
@Listen("onClick = menuitem")
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)
setAllProgressToDone();
@@ -129,7 +130,7 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
s.recalcState();
ListModelList model = s.getModel();
int index = item.getIndex();
int index = item.getIndex();
model.remove(index);
model.add(index, s);
}
@@ -141,7 +142,7 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
if(item == null)
return;
serieData m = (serieData) item.getValue();
serieData m = (serieData) item.getValue();
serieData mNew = new serieData();
try
@@ -151,7 +152,7 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
mNew.save();
ListModelList model = m.getModel();
int index = item.getIndex();
int index = item.getIndex();
mNew.setModel(model);
model.remove(index);
@@ -182,6 +183,11 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
{
s.delete();
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()))
{
@@ -1,5 +1,6 @@
package at.windesign.application.serie;
import at.windesign.application.movie.movieDataSource;
import org.zkoss.zul.*;
import java.sql.ResultSet;
@@ -340,4 +341,32 @@ public class serieUtils
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 + ")");
}
}