git-svn-id: https://svn.coded.pt/svn/SIPRP@1609 bb69d46d-e84e-40c8-a05a-06db0d633741

lxbfYeaa
Diogo Neves 15 years ago
parent c81c9b5d85
commit 9a33c137b9

@ -19,7 +19,7 @@ public class Pagina extends Hyperlink
private Integer risco_id;
private Integer valor;
private Integer page_nr;
private Integer pageNumber;
private Boolean previous = false;
private Boolean next = false;
@ -35,12 +35,11 @@ public class Pagina extends Hyperlink
values[ 0 ] = super.saveState( context );
values[ 1 ] = getRisco_id();
values[ 2 ] = getValor();
values[ 3 ] = getPage_nr();
values[ 3 ] = getPageNumber();
values[ 4 ] = isPrevious();
values[ 5 ] = isNext();
values[ 6 ] = getPaginationType();
return values;
// return ( ( Object ) ( values ) );
}
@Override
@ -50,7 +49,7 @@ public class Pagina extends Hyperlink
super.restoreState( context, values[ 0 ] );
risco_id = ( Integer ) values[ 1 ];
valor = ( Integer ) values[ 2 ];
page_nr = ( Integer ) values[ 3 ];
pageNumber = ( Integer ) values[ 3 ];
previous = ( Boolean ) values[ 4 ];
next = ( Boolean ) values[ 5 ];
setPaginationType( ( PAGINATION_ENUM ) values[ 6 ] );
@ -76,7 +75,8 @@ public class Pagina extends Hyperlink
this.previous = previous;
}
public Boolean isNext() {
public Boolean isNext()
{
return next;
}
@ -85,14 +85,14 @@ public class Pagina extends Hyperlink
this.next = next;
}
public Integer getPage_nr()
public Integer getPageNumber()
{
return page_nr;
return pageNumber;
}
public void setPage_nr(Integer page_nr)
public void setPageNumber( Integer page_nr )
{
this.page_nr = page_nr;
this.pageNumber = page_nr;
}
public Integer getValor()
@ -105,13 +105,14 @@ public class Pagina extends Hyperlink
this.valor = valor;
}
public PAGINATION_ENUM getPaginationType() {
public PAGINATION_ENUM getPaginationType()
{
return paginationType;
}
public void setPaginationType(PAGINATION_ENUM paginationType) {
public void setPaginationType( PAGINATION_ENUM paginationType )
{
this.paginationType = paginationType;
}
}

@ -5,12 +5,13 @@
package pagination;
import db.entidades.Area;
import db.entidades.PlanoActuacao;
import db.entidades.Risco;
import java.io.Serializable;
import java.util.Iterator;
import java.util.Vector;
import java.util.LinkedList;
import java.util.List;
import planosactuacao.SessionBean1.PAGINATION_ENUM;
/**
*
@ -18,78 +19,138 @@ import java.util.Vector;
*/
public abstract class Pagination implements Serializable
{
private int TOTAL_PAGINAS = 1;
private final PAGINATION_ENUM pagination;
private final PlanoActuacao planoActuacao;
private Vector< Risco > riscos = new Vector< Risco >();
private Vector< Pagina > paginas = new Vector< Pagina >();
private List< Risco > riscos = new LinkedList< Risco >();
private List< Pagina > pages = new LinkedList< Pagina >();
private int currentPageNumber = 1;
public Pagination( PlanoActuacao p )
public Pagination( PAGINATION_ENUM pagination, PlanoActuacao p )
{
initialize( p );
this.pagination = pagination;
this.planoActuacao = p;
setup();
}
private void initialize( PlanoActuacao p )
public PAGINATION_ENUM getPagination()
{
for ( Area a : p.getAreas() )
return pagination;
}
public PlanoActuacao getPlanoActuacao()
{
for ( Risco r : a.getRiscos() )
return planoActuacao;
}
public abstract void setup();
public void addRisco( Risco r )
{
if ( r != null )
{
if ( canBePaginated( r ) )
if ( riscos == null )
{
riscos = new LinkedList< Risco >();
}
riscos.add( r );
}
}
public void addPage( Pagina page )
{
if ( page != null )
{
if ( pages == null )
{
pages = new LinkedList< Pagina >();
}
pages.add( page );
}
TOTAL_PAGINAS = riscos.size();
}
protected abstract boolean canBePaginated( Risco risco );
public List< Pagina > getPages( Risco riscoActual )
{
pages = new LinkedList< Pagina >();
public Vector< Pagina > getPaginas()
if ( getCurrentPageNumber() > 1 )
{
paginas = new Vector< Pagina >();
Pagina pagina = null;
Pagina page = new Pagina();
page.setId( "prev" );
page.setPrevious( new Boolean( true ) );
page.setText( "<<" );
addPage( page );
}
if ( currentPageNumber > 1 )
Iterator< Risco > it = riscos.iterator();
int pageNumber = 1;
while ( it.hasNext() )
{
pagina = new Pagina();
pagina.setId( "prev" );
pagina.setPrevious( new Boolean( true ) );
pagina.setText( "<<" );
paginas.add( pagina );
Risco risco = it.next();
Pagina page = new Pagina();
page.setId( "valor" + risco.getId() );
page.setPageNumber( pageNumber );
page.setText( pageNumber );
setColor( page, risco, riscoActual );
setDisabled( page, risco, riscoActual );
addPage( page );
pageNumber++;
}
Iterator< Risco > iter = riscos.iterator();
for ( int i = 1; iter.hasNext(); i++ )
if ( getCurrentPageNumber() < getTotalPages() )
{
Risco r = iter.next();
pagina = new Pagina();
pagina.setId( "valor" + r.getId().toString() );
pagina.setPage_nr( i );
// if ( i == currentPageNumber )
// {
//// pagina.setDisabled( true );
// pagina.setStyle( "color:#000000;" );
// }
pagina.setText( i );
paginas.add( pagina );
Pagina page = new Pagina();
page.setId( "next" );
page.setNext( new Boolean( true ) );
page.setText( ">>" );
addPage( page );
}
if ( currentPageNumber < TOTAL_PAGINAS )
return pages;
}
private void setColor( Pagina page, Risco risco, Risco riscoActual )
{
if ( page.getPageNumber() != getCurrentPageNumber() )
{
String color = getColor( risco );
if ( color != null )
{
pagina = new Pagina();
pagina.setId("next");
pagina.setNext( new Boolean( true ) );
pagina.setText( ">>" );
paginas.add( pagina );
page.setStyle( "color: " + color + ";" );
}
}
}
return paginas;
private void setDisabled( Pagina page, Risco risco, Risco riscoActual )
{
if ( page.getPageNumber() == getCurrentPageNumber() )
{
if ( ( riscoActual.getIsPatrimonial() && risco.getIsPatrimonial() && getPagination().equals( PAGINATION_ENUM.PATRIMONIAIS ) )
|| ( ! riscoActual.getIsPatrimonial() && ! risco.getIsPatrimonial() && getPagination().equals( PAGINATION_ENUM.NORMAL ) ) )
{
page.setStyle( "background: #FFFFFF; border: 1px solid #000000; padding-left: 5px; padding-right: 5px;" );
page.setDisabled( true );
}
}
}
private String getColor( Risco risco )
{
String result = null;
// TODO : return appropriate color for this risco
// azul : actual
// verde : preenchido
// amarelo : por preencher
public Risco getValor( Pagina p )
return result;
}
public Risco getRisco( Pagina p )
{
if ( p.isNext() )
{
@ -101,17 +162,17 @@ public abstract class Pagination implements Serializable
}
else
{
currentPageNumber = p.getPage_nr().intValue();
currentPageNumber = p.getPageNumber().intValue();
}
return riscos.get( currentPageNumber - 1 );
}
public Risco nextValor()
public Risco getNextRisco()
{
Risco r = null;
if ( currentPageNumber < TOTAL_PAGINAS )
if ( currentPageNumber < getTotalPages() )
{
currentPageNumber++;
r = riscos.get( currentPageNumber - 1 );
@ -120,9 +181,13 @@ public abstract class Pagination implements Serializable
return r;
}
public int totalPaginas()
public int getTotalPages()
{
return TOTAL_PAGINAS;
return pages == null ? 0 : pages.size();
}
public int getCurrentPageNumber()
{
return currentPageNumber;
}
}

@ -5,8 +5,10 @@
package pagination;
import db.entidades.Area;
import db.entidades.PlanoActuacao;
import db.entidades.Risco;
import planosactuacao.SessionBean1.PAGINATION_ENUM;
/**
*
@ -16,13 +18,25 @@ public class PaginationNormais extends Pagination
{
public PaginationNormais( PlanoActuacao plano )
{
super( plano );
super( PAGINATION_ENUM.NORMAL, plano );
}
@Override
protected boolean canBePaginated( Risco risco )
public void setup()
{
return risco != null && ! risco.getIsPatrimonial();
if ( getPlanoActuacao() != null )
{
for ( Area a : getPlanoActuacao().getAreas() )
{
for ( Risco r : a.getRiscos() )
{
if ( ! r.getIsPatrimonial() )
{
addRisco( r );
}
}
}
}
}
}

@ -5,8 +5,10 @@
package pagination;
import db.entidades.Area;
import db.entidades.PlanoActuacao;
import db.entidades.Risco;
import planosactuacao.SessionBean1.PAGINATION_ENUM;
/**
*
@ -16,13 +18,25 @@ public class PaginationPatrimoniais extends Pagination
{
public PaginationPatrimoniais( PlanoActuacao plano )
{
super( plano );
super( PAGINATION_ENUM.PATRIMONIAIS, plano );
}
@Override
protected boolean canBePaginated( Risco risco )
public void setup()
{
return risco != null && risco.getIsPatrimonial();
if ( getPlanoActuacao() != null )
{
for ( Area a : getPlanoActuacao().getAreas() )
{
for ( Risco r : a.getRiscos() )
{
if ( r.getIsPatrimonial() )
{
addRisco( r );
}
}
}
}
}
}

@ -852,6 +852,9 @@ public class EditarPlano extends AbstractPageBean
System.out.println( "\nEditarPlano . showRisco() : " + r.getId() + " - " + r.getDescricao() );
getSessionBean1().setCurrentRisco( r );
String riscoText = "Risco" + ( r.getIsPatrimonial() ? " Patrimonial:&nbsp;" : ":&nbsp;" );
HtmlPanelGrid grd = new HtmlPanelGrid();
grd.setColumns( 1 );
grd.setWidth( "100%" );
@ -870,7 +873,8 @@ public class EditarPlano extends AbstractPageBean
st = new StaticText();
st.setEscape( false );
st.setStyleClass( "label" );
st.setText( "Risco:&nbsp;" );
// st.setText( "Risco:&nbsp;" );
st.setText( riscoText );
pg.getChildren().add( st );
st = new StaticText();
st.setEscape( false );
@ -1454,9 +1458,9 @@ public class EditarPlano extends AbstractPageBean
PanelGroup group = new PanelGroup();
// Pagination pagination = getSessionBean1().getPagination();
Risco currentRisco = getSessionBean1().getCurrentRisco();
Pagination pagination = getSessionBean1().getPagination( type );
Vector< Pagina > paginas = pagination.getPaginas();
List< Pagina > paginas = pagination.getPages( currentRisco );
for ( int p = 0; p < paginas.size(); p++ )
{
@ -1493,7 +1497,7 @@ public class EditarPlano extends AbstractPageBean
pagina.addActionListener( new MethodExpressionActionListener( me ) );
pagina.setPaginationType( type );
group.getChildren().add( pagina );
if ( pagina.getPage_nr().intValue() < pagination.totalPaginas() )
if ( pagina.getPageNumber().intValue() < pagination.getTotalPages() )
{
st = new StaticText();
st.setEscape( false );
@ -1720,7 +1724,6 @@ public class EditarPlano extends AbstractPageBean
}
}
Boolean validacao = ( Boolean ) chkValidacao.getSelected();
if ( validacao != null )
{
@ -1766,6 +1769,7 @@ public class EditarPlano extends AbstractPageBean
}
}
}
try
{
PlanosDataProvider pdp = PlanosDataProvider.getInstance();
@ -1776,7 +1780,6 @@ public class EditarPlano extends AbstractPageBean
ErrorLogger.logException( ex );
}
try
{
Risco r = getSessionBean1().getCurrentRisco();
@ -1794,7 +1797,7 @@ public class EditarPlano extends AbstractPageBean
// Pagination pagination = getSessionBean1().getPagination();
Pagination pagination = getSessionBean1().getPagination( r.getIsPatrimonial() ? PAGINATION_ENUM.PATRIMONIAIS : PAGINATION_ENUM.NORMAL );
r = pagination.nextValor();
r = pagination.getNextRisco();
Area a = getSessionBean1().getAreasHash().get( r.getArea_id() );
if ( r != null )
{
@ -1816,49 +1819,50 @@ public class EditarPlano extends AbstractPageBean
return null;
}
private void fillPlanoFields()
{
PlanoActuacao p = getSessionBean1().getPlanoActuacao();
int fase = p.getFase().intValue();
switch(fase)
{
case Global.FASE_DIR_LOJA_VALIDACAO:
Boolean validacao = (Boolean)chkValidacao.getSelected();
p.setValidacao_hs(validacao);
TextArea txtObs = (TextArea) pg.findComponent("txtObservacoesDl");
if(txtObs != null)
{
if(txtObs.getText() != null)
{
p.setObservacoes_dl((String) txtObs.getText());
}
}
break;
case Global.DIRECTOR_NACIONAL_SEGURANCA:
validacao = (Boolean)chkValidacao.getSelected();
p.setValidacao_hs(validacao);
txtObs = (TextArea) pg.findComponent("txtObservacoesDns");
if(txtObs != null)
{
if(txtObs.getText() != null)
{
p.setObservacoes_dns((String) txtObs.getText());
}
}
break;
case Global.FASE_SIPRP_CONCLUSAO:
validacao = (Boolean)chkValidacao.getSelected();
p.setValidacao_hs(validacao);
break;
// private void fillPlanoFields()
// {
// PlanoActuacao p = getSessionBean1().getPlanoActuacao();
//
// int fase = p.getFase().intValue();
// switch(fase)
// {
// case Global.FASE_DIR_LOJA_VALIDACAO:
// Boolean validacao = (Boolean)chkValidacao.getSelected();
// p.setValidacao_hs(validacao);
//
// TextArea txtObs = (TextArea) pg.findComponent("txtObservacoesDl");
// if(txtObs != null)
// {
// if(txtObs.getText() != null)
// {
// p.setObservacoes_dl((String) txtObs.getText());
// }
// }
// break;
//
// case Global.DIRECTOR_NACIONAL_SEGURANCA:
// validacao = (Boolean)chkValidacao.getSelected();
// p.setValidacao_hs(validacao);
//
// txtObs = (TextArea) pg.findComponent("txtObservacoesDns");
// if(txtObs != null)
// {
// if(txtObs.getText() != null)
// {
// p.setObservacoes_dns((String) txtObs.getText());
// }
// }
// break;
//
// case Global.FASE_SIPRP_CONCLUSAO:
// validacao = (Boolean)chkValidacao.getSelected();
// p.setValidacao_hs(validacao);
// break;
//
//
// }
// }
}
}
// private Valor fillValorFields(Valor v)
private Risco fillValorFields( Risco r )
@ -2446,7 +2450,8 @@ public class EditarPlano extends AbstractPageBean
// }
}
public void drpIrPara_processValueChange(ValueChangeEvent event) {
public void drpIrPara_processValueChange( ValueChangeEvent event )
{
}
@ -2471,7 +2476,6 @@ public class EditarPlano extends AbstractPageBean
private void fillValoresHash( PlanoActuacao p )
{
//HashMap<Integer, Valor> valoresHash = new HashMap<Integer, Valor>();
HashMap< Integer, Risco > riscosHash = new HashMap< Integer, Risco >();
for ( Area a : p.getAreas() )
{
@ -2507,7 +2511,7 @@ public class EditarPlano extends AbstractPageBean
Pagination pagination = getSessionBean1().getPagination( type );
if ( pagination != null )
{
Risco r = pagination.getValor( pagina );
Risco r = pagination.getRisco( pagina );
r = getSessionBean1().getRiscosHash().get( r.getId() );
Area a = getSessionBean1().getAreasHash().get( r.getArea_id() );

@ -75,7 +75,7 @@ public class SessionBean1 extends AbstractSessionBean {
private HashMap<Integer, Risco> riscosHash;
public static enum PAGINATION_ENUM
public enum PAGINATION_ENUM
{
NORMAL( 0, "Normal" ),
PATRIMONIAIS( 1, "Patrimoniais" )
@ -90,11 +90,13 @@ public class SessionBean1 extends AbstractSessionBean {
this.type = type;
}
public Integer getCode() {
public Integer getCode()
{
return code;
}
public String getType() {
public String getType()
{
return type;
}

Loading…
Cancel
Save