diff --git a/trunk/PlanosActuacao/src/java/pagination/Pagina.java b/trunk/PlanosActuacao/src/java/pagination/Pagina.java index 1992b31b..c056f92a 100644 --- a/trunk/PlanosActuacao/src/java/pagination/Pagina.java +++ b/trunk/PlanosActuacao/src/java/pagination/Pagina.java @@ -12,54 +12,63 @@ import javax.faces.context.FacesContext; * * @author lluis */ -public class Pagina extends Hyperlink{ +public class Pagina extends Hyperlink +{ + private Integer risco_id; private Integer valor; private Integer page_nr; private Boolean previous = false; private Boolean next = false; - public Pagina(){ + public Pagina() + { super(); } - public Object saveState(FacesContext context) + @Override + public Object saveState( FacesContext context ) { - Object values[] = new Object[7]; - values[0] = super.saveState(context); - values[1] = getRisco_id(); - values[2] = getValor(); - values[3] = getPage_nr(); - values[4] = isPrevious(); - values[5] = isNext(); -// values[2] = getId(); - return ((Object) (values)); + Object values[] = new Object[ 7 ]; + values[ 0 ] = super.saveState( context ); + values[ 1 ] = getRisco_id(); + values[ 2 ] = getValor(); + values[ 3 ] = getPage_nr(); + values[ 4 ] = isPrevious(); + values[ 5 ] = isNext(); +// values[2] = getId(); + return ( ( Object ) ( values ) ); } - public void restoreState(FacesContext context, Object state) + @Override + public void restoreState( FacesContext context, Object state ) { - Object values[] = (Object[])state; - super.restoreState(context, values[0]); - risco_id = (Integer)values[1]; - valor = (Integer)values[2]; - page_nr = (Integer)values[3]; - previous = (Boolean)values[4]; - next = (Boolean)values[5]; + Object values[] = ( Object[] ) state; + super.restoreState( context, values[ 0 ] ); + risco_id = ( Integer ) values[ 1 ]; + valor = ( Integer ) values[ 2 ]; + page_nr = ( Integer ) values[ 3 ]; + previous = ( Boolean ) values[ 4 ]; + next = ( Boolean ) values[ 5 ]; } - public Integer getRisco_id() { + public Integer getRisco_id() + { return risco_id; } - public void setRisco_id(Integer risco_id) { + public void setRisco_id(Integer risco_id) + { this.risco_id = risco_id; } - public Boolean isPrevious() { + public Boolean isPrevious() + { return previous; } - public void setPrevious(Boolean previous) { + public void setPrevious(Boolean previous) + { this.previous = previous; } @@ -67,23 +76,28 @@ public class Pagina extends Hyperlink{ return next; } - public void setNext(Boolean next) { + public void setNext(Boolean next) + { this.next = next; } - public Integer getPage_nr() { + public Integer getPage_nr() + { return page_nr; } - public void setPage_nr(Integer page_nr) { + public void setPage_nr(Integer page_nr) + { this.page_nr = page_nr; } - public Integer getValor() { + public Integer getValor() + { return valor; } - public void setValor(Integer valor) { + public void setValor(Integer valor) + { this.valor = valor; } } diff --git a/trunk/PlanosActuacao/src/java/pagination/Pagination.java b/trunk/PlanosActuacao/src/java/pagination/Pagination.java index ba957857..ed9ae46e 100644 --- a/trunk/PlanosActuacao/src/java/pagination/Pagination.java +++ b/trunk/PlanosActuacao/src/java/pagination/Pagination.java @@ -35,43 +35,43 @@ public class Pagination implements Serializable Vector paginas = new Vector(); Pagina pagina = null; - if(current_page > 1) + if ( current_page > 1 ) { pagina = new Pagina(); - pagina.setId("prev"); - pagina.setPrevious(new Boolean(true)); - pagina.setText("<<"); - paginas.add(pagina); + pagina.setId( "prev" ); + pagina.setPrevious( new Boolean( true ) ); + pagina.setText( "<<" ); + paginas.add( pagina ); } int i = 0; //Iterator iter = valoresVector.iterator(); - Iterator iter = riscosVector.iterator(); - while(iter.hasNext()) + Iterator< Risco > iter = riscosVector.iterator(); + while ( iter.hasNext() ) { //Valor v = iter.next(); Risco r = iter.next(); pagina = new Pagina(); //pagina.setId("valor" + v.getId().toString()); - pagina.setId("valor" + r.getId().toString()); + pagina.setId( "valor" + r.getId().toString() ); //pagina.setRisco_id(r.getId()); i++; - pagina.setPage_nr(i); - if(i == current_page) + pagina.setPage_nr( i ); + if ( i == current_page ) { - pagina.setDisabled(true); + pagina.setDisabled( true ); } - pagina.setText(i); - paginas.add(pagina); + pagina.setText( i ); + paginas.add( pagina ); } - if(current_page < TOTAL_PAGINAS) + if ( current_page < TOTAL_PAGINAS ) { pagina = new Pagina(); - pagina.setId("next"); - pagina.setNext(new Boolean(true)); - pagina.setText(">>"); - paginas.add(pagina); + pagina.setId("next"); + pagina.setNext( new Boolean( true ) ); + pagina.setText( ">>" ); + paginas.add( pagina ); } return paginas; diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java b/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java index b22afdd6..3c3098f7 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java @@ -31,10 +31,10 @@ import db.providers.PlanosDataProvider; import db.providers.UtilizadoresDataProvider; import global.Global; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.ListIterator; import java.util.Vector; @@ -1462,58 +1462,122 @@ public class EditarPlano extends AbstractPageBean break; } } - - private void setPagination() - { - StaticText st = null; - - Class[] argtypes = new Class[1]; - argtypes[0] = ActionEvent.class; - MethodExpression me = (MethodExpression)this.getApplication().getExpressionFactory().createMethodExpression( - getFacesContext().getELContext(), "#{EditarPlano.paginacao_actionListener}", null,argtypes); - if(grpPagination.getChildCount() > 0) - { - grpPagination.getChildren().clear(); - } - - Pagination pagination = getSessionBean1().getPagination(); - Vector paginas = pagination.getPaginas(); - for(Pagina pagina : paginas) - { - if(pagina.isPrevious()) - { - pagina.addActionListener(new MethodExpressionActionListener(me)); - grpPagination.getChildren().add(pagina); + private static final int MAX_PAGES_PER_LINE = 20; + + private void setPagination() + { + Class[] argtypes = new Class[ 1 ]; + argtypes[ 0 ] = ActionEvent.class; + MethodExpression me = ( MethodExpression ) this.getApplication().getExpressionFactory().createMethodExpression( + getFacesContext().getELContext(), "#{EditarPlano.paginacao_actionListener}", null, argtypes ); + + if ( gridPagination.getChildCount() > 0 ) + { + gridPagination.getChildren().clear(); + } + + PanelGroup group = new PanelGroup(); + + Pagination pagination = getSessionBean1().getPagination(); + Vector< Pagina > paginas = pagination.getPaginas(); + + for ( int p = 0; p < paginas.size(); p++ ) + { + Pagina pagina = paginas.get( p ); + + if ( p > 0 && p % MAX_PAGES_PER_LINE == 0 ) + { + gridPagination.getChildren().add( group ); + group = new PanelGroup(); + } + + if ( pagina.isPrevious() ) + { + pagina.addActionListener( new MethodExpressionActionListener( me ) ); + group.getChildren().add( pagina ); st = new StaticText(); - st.setEscape(false); - st.setText(" "); - grpPagination.getChildren().add(st); - } - else if(pagina.isNext()) - { + st.setEscape( false ); + st.setText( " " ); + group.getChildren().add( st ); + } + else if ( pagina.isNext() ) + { st = new StaticText(); - st.setEscape(false); - st.setText(" "); - grpPagination.getChildren().add(st); - pagina.addActionListener(new MethodExpressionActionListener(me)); - grpPagination.getChildren().add(pagina); - } - else - { - pagina.addActionListener(new MethodExpressionActionListener(me)); - grpPagination.getChildren().add(pagina); - if(pagina.getPage_nr().intValue() < pagination.totalPaginas() ) - { - st = new StaticText(); - st.setEscape(false); - st.setText(" | "); - grpPagination.getChildren().add(st); + st.setEscape( false ); + st.setText( " " ); + group.getChildren().add( st ); + pagina.addActionListener( new MethodExpressionActionListener( me ) ); + group.getChildren().add( pagina ); + } + else + { + pagina.addActionListener( new MethodExpressionActionListener( me ) ); + group.getChildren().add( pagina ); + if ( pagina.getPage_nr().intValue() < pagination.totalPaginas() ) + { + st = new StaticText(); + st.setEscape( false ); + st.setText( " | " ); + group.getChildren().add( st ); } - - } - } - } + } + } + + gridPagination.getChildren().add( group ); + } + +// private void setPagination() +// { +// StaticText st = null; +// +// Class[] argtypes = new Class[1]; +// argtypes[0] = ActionEvent.class; +// MethodExpression me = (MethodExpression)this.getApplication().getExpressionFactory().createMethodExpression( +// getFacesContext().getELContext(), "#{EditarPlano.paginacao_actionListener}", null,argtypes); +// +// if(grpPagination.getChildCount() > 0) +// { +// grpPagination.getChildren().clear(); +// } +// +// Pagination pagination = getSessionBean1().getPagination(); +// Vector paginas = pagination.getPaginas(); +// for(Pagina pagina : paginas) +// { +// if ( pagina.isPrevious() ) +// { +// pagina.addActionListener( new MethodExpressionActionListener( me ) ); +// grpPagination.getChildren().add( pagina ); +// st = new StaticText(); +// st.setEscape( false ); +// st.setText( " " ); +// grpPagination.getChildren().add( st ); +// } +// else if ( pagina.isNext() ) +// { +// st = new StaticText(); +// st.setEscape( false ); +// st.setText( " " ); +// grpPagination.getChildren().add( st ); +// pagina.addActionListener( new MethodExpressionActionListener( me ) ); +// grpPagination.getChildren().add( pagina ); +// } +// else +// { +// pagina.addActionListener( new MethodExpressionActionListener( me ) ); +// grpPagination.getChildren().add( pagina ); +// if ( pagina.getPage_nr().intValue() < pagination.totalPaginas() ) +// { +// st = new StaticText(); +// st.setEscape( false ); +// st.setText( " | " ); +// grpPagination.getChildren().add( st ); +// } +// +// } +// } +// } public String butGravarPlano_action() { diff --git a/trunk/PlanosActuacao/web/EditarPlano.jsp b/trunk/PlanosActuacao/web/EditarPlano.jsp index 5b9efbfa..2372a0c9 100644 --- a/trunk/PlanosActuacao/web/EditarPlano.jsp +++ b/trunk/PlanosActuacao/web/EditarPlano.jsp @@ -191,7 +191,9 @@ - + @@ -239,26 +241,6 @@


-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-