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

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Diogo Neves 15 years ago
parent 05e4d5ff82
commit a3356d1071

@ -1,10 +1,14 @@
package siprp.data;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
import com.evolute.adt.Pair;
import com.evolute.entity.evo.EvoDataException;
import com.evolute.entity.evo.EvoDataObject;
import com.evolute.utils.strings.UnicodeChecker;
@ -19,6 +23,8 @@ public abstract class BaseObject extends EvoDataObject
private static final long serialVersionUID = 1L;
private static final String [] SOFT_DELETE_KEYS = new String[]{ "deleted_stamp", "deleted_date", "inactivo" };
public static final DateFormat DATE_FORMAT = DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "pt", "PT" ) );
protected static final String isNewMessage = " ";
@ -39,4 +45,58 @@ public abstract class BaseObject extends EvoDataObject
return result;
}
private Object getSoftDeleteObject( Class<?> returnClass )
{
Object result = null;
if( Timestamp.class.isAssignableFrom( returnClass ) )
{
result = new Timestamp( System.currentTimeMillis() );
}
else if( Date.class.isAssignableFrom( returnClass ) )
{
result = new Date();
}
else if( String.class.isAssignableFrom( returnClass ) )
{
result = "y";
}
else if( Boolean.class.isAssignableFrom( returnClass ) )
{
result = true;
}
return result;
}
private Pair<String,Object> getSoftDelete()
{
String resultKey = null;
Object resultObject = null;
List<String> keys = Arrays.asList( getFieldNames() );
for( String key : SOFT_DELETE_KEYS )
{
if( keys.contains( key ) )
{
resultKey = key;
resultObject = getSoftDeleteObject( getFieldClass( key ) );
break;
}
}
return resultKey == null ? null : new Pair<String, Object>(resultKey,resultObject);
}
@Override
public void delete() throws EvoDataException
{
Pair<String,Object> softDelete = getSoftDelete();
if( softDelete != null )
{
set( softDelete.getLeft(), softDelete.getRight() );
save();
}
else
{
super.delete();
}
}
}

@ -11,7 +11,6 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import javax.swing.JOptionPane;
@ -383,7 +382,9 @@ public class GerirMedidasRelatorioPanel extends JPanel
HsRelatorioPostoMedidaData rel = selection == null ? null : (HsRelatorioPostoMedidaData) ((MedidaRelatorioNode) selection).getUserObject();
if( confirm("Tem a certeza que deseja remover o requisito '" + shortenString( rel.toMedida_id().toString() ) + "'?") )
{
rel.toMedida_id().setDeleted_date( new java.sql.Timestamp( new Date().getTime() ) );
HsRelatorioMedidaData medidaData = rel.toMedida_id();
medidaData.delete();
rel.delete();
outcome = true;
}
@ -393,24 +394,18 @@ public class GerirMedidasRelatorioPanel extends JPanel
HsRelatorioPostoRiscoData rel = (HsRelatorioPostoRiscoData) ((RiscoRelatorioNode)selection).getUserObject();
if( confirm("Tem a certeza que deseja remover o risco '" + shortenString( rel.toRisco_id().toString() ) + "'?") )
{
for( HsRelatorioMedidaData medida : rel.toRisco_id().fromHsRelatorioMedida_risco_id() )
HsRelatorioRiscoData riscoData = rel.toRisco_id();
for( HsRelatorioMedidaData medida : riscoData.fromHsRelatorioMedida_risco_id() )
{
while( true )
List< HsRelatorioPostoMedidaData > list = medida.fromHsRelatorioPostoMedida_medida_id();
for ( HsRelatorioPostoMedidaData relMedida : list )
{
List<HsRelatorioPostoMedidaData> list = medida.fromHsRelatorioPostoMedida_medida_id();
HsRelatorioPostoMedidaData relMedida = list.isEmpty() ? null : list.get(0);
if( relMedida != null )
{
relMedida.delete();
}
else
{
break;
}
relMedida.delete();
}
medida.setDeleted_date( new java.sql.Timestamp( new Date().getTime() ) );
medida.delete();
}
rel.toRisco_id().setDeleted_date( new java.sql.Timestamp( new Date().getTime() ) );
riscoData.delete();
outcome = true;
}
}

Loading…
Cancel
Save