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

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Diogo Neves 15 years ago
parent c81c9b5d85
commit 9a33c137b9

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

@ -5,12 +5,13 @@
package pagination; package pagination;
import db.entidades.Area;
import db.entidades.PlanoActuacao; import db.entidades.PlanoActuacao;
import db.entidades.Risco; import db.entidades.Risco;
import java.io.Serializable; import java.io.Serializable;
import java.util.Iterator; 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 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 List< Risco > riscos = new LinkedList< Risco >();
private Vector< Pagina > paginas = new Vector< Pagina >(); private List< Pagina > pages = new LinkedList< Pagina >();
private int currentPageNumber = 1; 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 ); 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 page = new Pagina();
Pagina pagina = null; 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(); Risco risco = it.next();
pagina.setId( "prev" );
pagina.setPrevious( new Boolean( true ) ); Pagina page = new Pagina();
pagina.setText( "<<" ); page.setId( "valor" + risco.getId() );
paginas.add( pagina ); page.setPageNumber( pageNumber );
page.setText( pageNumber );
setColor( page, risco, riscoActual );
setDisabled( page, risco, riscoActual );
addPage( page );
pageNumber++;
} }
Iterator< Risco > iter = riscos.iterator(); if ( getCurrentPageNumber() < getTotalPages() )
for ( int i = 1; iter.hasNext(); i++ )
{ {
Risco r = iter.next(); Pagina page = new Pagina();
pagina = new Pagina(); page.setId( "next" );
pagina.setId( "valor" + r.getId().toString() ); page.setNext( new Boolean( true ) );
pagina.setPage_nr( i ); page.setText( ">>" );
// if ( i == currentPageNumber ) addPage( page );
// {
//// pagina.setDisabled( true );
// pagina.setStyle( "color:#000000;" );
// }
pagina.setText( i );
paginas.add( pagina );
} }
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(); page.setStyle( "color: " + color + ";" );
pagina.setId("next"); }
pagina.setNext( new Boolean( true ) ); }
pagina.setText( ">>" );
paginas.add( pagina );
} }
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() ) if ( p.isNext() )
{ {
@ -101,17 +162,17 @@ public abstract class Pagination implements Serializable
} }
else else
{ {
currentPageNumber = p.getPage_nr().intValue(); currentPageNumber = p.getPageNumber().intValue();
} }
return riscos.get( currentPageNumber - 1 ); return riscos.get( currentPageNumber - 1 );
} }
public Risco nextValor() public Risco getNextRisco()
{ {
Risco r = null; Risco r = null;
if ( currentPageNumber < TOTAL_PAGINAS ) if ( currentPageNumber < getTotalPages() )
{ {
currentPageNumber++; currentPageNumber++;
r = riscos.get( currentPageNumber - 1 ); r = riscos.get( currentPageNumber - 1 );
@ -120,9 +181,13 @@ public abstract class Pagination implements Serializable
return r; 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; package pagination;
import db.entidades.Area;
import db.entidades.PlanoActuacao; import db.entidades.PlanoActuacao;
import db.entidades.Risco; import db.entidades.Risco;
import planosactuacao.SessionBean1.PAGINATION_ENUM;
/** /**
* *
@ -16,13 +18,25 @@ public class PaginationNormais extends Pagination
{ {
public PaginationNormais( PlanoActuacao plano ) public PaginationNormais( PlanoActuacao plano )
{ {
super( plano ); super( PAGINATION_ENUM.NORMAL, plano );
} }
@Override @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; package pagination;
import db.entidades.Area;
import db.entidades.PlanoActuacao; import db.entidades.PlanoActuacao;
import db.entidades.Risco; import db.entidades.Risco;
import planosactuacao.SessionBean1.PAGINATION_ENUM;
/** /**
* *
@ -16,13 +18,25 @@ public class PaginationPatrimoniais extends Pagination
{ {
public PaginationPatrimoniais( PlanoActuacao plano ) public PaginationPatrimoniais( PlanoActuacao plano )
{ {
super( plano ); super( PAGINATION_ENUM.PATRIMONIAIS, plano );
} }
@Override @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() ); System.out.println( "\nEditarPlano . showRisco() : " + r.getId() + " - " + r.getDescricao() );
getSessionBean1().setCurrentRisco( r ); getSessionBean1().setCurrentRisco( r );
String riscoText = "Risco" + ( r.getIsPatrimonial() ? " Patrimonial:&nbsp;" : ":&nbsp;" );
HtmlPanelGrid grd = new HtmlPanelGrid(); HtmlPanelGrid grd = new HtmlPanelGrid();
grd.setColumns( 1 ); grd.setColumns( 1 );
grd.setWidth( "100%" ); grd.setWidth( "100%" );
@ -870,7 +873,8 @@ public class EditarPlano extends AbstractPageBean
st = new StaticText(); st = new StaticText();
st.setEscape( false ); st.setEscape( false );
st.setStyleClass( "label" ); st.setStyleClass( "label" );
st.setText( "Risco:&nbsp;" ); // st.setText( "Risco:&nbsp;" );
st.setText( riscoText );
pg.getChildren().add( st ); pg.getChildren().add( st );
st = new StaticText(); st = new StaticText();
st.setEscape( false ); st.setEscape( false );
@ -1454,9 +1458,9 @@ public class EditarPlano extends AbstractPageBean
PanelGroup group = new PanelGroup(); PanelGroup group = new PanelGroup();
// Pagination pagination = getSessionBean1().getPagination(); Risco currentRisco = getSessionBean1().getCurrentRisco();
Pagination pagination = getSessionBean1().getPagination( type ); Pagination pagination = getSessionBean1().getPagination( type );
Vector< Pagina > paginas = pagination.getPaginas(); List< Pagina > paginas = pagination.getPages( currentRisco );
for ( int p = 0; p < paginas.size(); p++ ) for ( int p = 0; p < paginas.size(); p++ )
{ {
@ -1493,7 +1497,7 @@ public class EditarPlano extends AbstractPageBean
pagina.addActionListener( new MethodExpressionActionListener( me ) ); pagina.addActionListener( new MethodExpressionActionListener( me ) );
pagina.setPaginationType( type ); pagina.setPaginationType( type );
group.getChildren().add( pagina ); group.getChildren().add( pagina );
if ( pagina.getPage_nr().intValue() < pagination.totalPaginas() ) if ( pagina.getPageNumber().intValue() < pagination.getTotalPages() )
{ {
st = new StaticText(); st = new StaticText();
st.setEscape( false ); st.setEscape( false );
@ -1720,7 +1724,6 @@ public class EditarPlano extends AbstractPageBean
} }
} }
Boolean validacao = ( Boolean ) chkValidacao.getSelected(); Boolean validacao = ( Boolean ) chkValidacao.getSelected();
if ( validacao != null ) if ( validacao != null )
{ {
@ -1766,6 +1769,7 @@ public class EditarPlano extends AbstractPageBean
} }
} }
} }
try try
{ {
PlanosDataProvider pdp = PlanosDataProvider.getInstance(); PlanosDataProvider pdp = PlanosDataProvider.getInstance();
@ -1776,7 +1780,6 @@ public class EditarPlano extends AbstractPageBean
ErrorLogger.logException( ex ); ErrorLogger.logException( ex );
} }
try try
{ {
Risco r = getSessionBean1().getCurrentRisco(); Risco r = getSessionBean1().getCurrentRisco();
@ -1794,7 +1797,7 @@ public class EditarPlano extends AbstractPageBean
// Pagination pagination = getSessionBean1().getPagination(); // Pagination pagination = getSessionBean1().getPagination();
Pagination pagination = getSessionBean1().getPagination( r.getIsPatrimonial() ? PAGINATION_ENUM.PATRIMONIAIS : PAGINATION_ENUM.NORMAL ); 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() ); Area a = getSessionBean1().getAreasHash().get( r.getArea_id() );
if ( r != null ) if ( r != null )
{ {
@ -1816,49 +1819,50 @@ public class EditarPlano extends AbstractPageBean
return null; return null;
} }
private void fillPlanoFields() // private void fillPlanoFields()
{ // {
PlanoActuacao p = getSessionBean1().getPlanoActuacao(); // PlanoActuacao p = getSessionBean1().getPlanoActuacao();
//
int fase = p.getFase().intValue(); // int fase = p.getFase().intValue();
switch(fase) // switch(fase)
{ // {
case Global.FASE_DIR_LOJA_VALIDACAO: // case Global.FASE_DIR_LOJA_VALIDACAO:
Boolean validacao = (Boolean)chkValidacao.getSelected(); // Boolean validacao = (Boolean)chkValidacao.getSelected();
p.setValidacao_hs(validacao); // p.setValidacao_hs(validacao);
//
TextArea txtObs = (TextArea) pg.findComponent("txtObservacoesDl"); // TextArea txtObs = (TextArea) pg.findComponent("txtObservacoesDl");
if(txtObs != null) // if(txtObs != null)
{ // {
if(txtObs.getText() != null) // if(txtObs.getText() != null)
{ // {
p.setObservacoes_dl((String) txtObs.getText()); // p.setObservacoes_dl((String) txtObs.getText());
} // }
} // }
break; // break;
//
case Global.DIRECTOR_NACIONAL_SEGURANCA: // case Global.DIRECTOR_NACIONAL_SEGURANCA:
validacao = (Boolean)chkValidacao.getSelected(); // validacao = (Boolean)chkValidacao.getSelected();
p.setValidacao_hs(validacao); // p.setValidacao_hs(validacao);
//
txtObs = (TextArea) pg.findComponent("txtObservacoesDns"); // txtObs = (TextArea) pg.findComponent("txtObservacoesDns");
if(txtObs != null) // if(txtObs != null)
{ // {
if(txtObs.getText() != null) // if(txtObs.getText() != null)
{ // {
p.setObservacoes_dns((String) txtObs.getText()); // p.setObservacoes_dns((String) txtObs.getText());
} // }
} // }
break; // break;
//
case Global.FASE_SIPRP_CONCLUSAO: // case Global.FASE_SIPRP_CONCLUSAO:
validacao = (Boolean)chkValidacao.getSelected(); // validacao = (Boolean)chkValidacao.getSelected();
p.setValidacao_hs(validacao); // p.setValidacao_hs(validacao);
break; // break;
//
//
// }
// }
}
}
// private Valor fillValorFields(Valor v) // private Valor fillValorFields(Valor v)
private Risco fillValorFields( Risco r ) 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 ) private void fillValoresHash( PlanoActuacao p )
{ {
//HashMap<Integer, Valor> valoresHash = new HashMap<Integer, Valor>();
HashMap< Integer, Risco > riscosHash = new HashMap< Integer, Risco >(); HashMap< Integer, Risco > riscosHash = new HashMap< Integer, Risco >();
for ( Area a : p.getAreas() ) for ( Area a : p.getAreas() )
{ {
@ -2507,7 +2511,7 @@ public class EditarPlano extends AbstractPageBean
Pagination pagination = getSessionBean1().getPagination( type ); Pagination pagination = getSessionBean1().getPagination( type );
if ( pagination != null ) if ( pagination != null )
{ {
Risco r = pagination.getValor( pagina ); Risco r = pagination.getRisco( pagina );
r = getSessionBean1().getRiscosHash().get( r.getId() ); r = getSessionBean1().getRiscosHash().get( r.getId() );
Area a = getSessionBean1().getAreasHash().get( r.getArea_id() ); Area a = getSessionBean1().getAreasHash().get( r.getArea_id() );

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

Loading…
Cancel
Save