package gr.ntua.ivml.athena.test;
import gr.ntua.ivml.athena.db.DB;
import gr.ntua.ivml.athena.persistent.DataUpload;
import gr.ntua.ivml.athena.persistent.Organization;
import gr.ntua.ivml.athena.persistent.Publication;
import java.util.List;
import junit.framework.TestCase;
import org.apache.log4j.Logger;
public class PublicationTest extends TestCase {
public static final Logger log = Logger.getLogger(PublicationTest.class);
public void testDb() {
// this is not needed in the webapp, automatic ..
log.info( "Check yourself if this works, no asserts in here" );
DB.getSession().beginTransaction();
Publication p = new Publication();
Organization org = getOrg();
p.setPublishingOrganization(org);
p.setTargetSchema("some_lido");
for( DataUpload du: org.getDataUploads()) {
p.addUpload(du);
}
DB.getPublicationDAO().makePersistent(p);
// you don't need this in the webapp, happens automatically
p = new Publication();
p.setPublishingOrganization(org);
p.setTargetSchema("some_other_schema");
for( DataUpload du: org.getDataUploads()) {
p.addUpload(du);
}
DB.getPublicationDAO().makePersistent(p);
DB.commit();
DB.closeSession();
}
public void testRet() {
Publication res = null;
DB.getSession().beginTransaction();
for( Publication p: DB.getPublicationDAO().findAll()) {
try {
p.upToDateCheck();
res = p;
} catch( Exception e ) {
log.info( e );
}
}
res.process();
DB.closeSession();
}
private Organization getOrg() {
Organization result = null;
for( Organization org: DB.getOrganizationDAO().findAll() ) {
List<DataUpload> l = org.getDataUploads();
if( l.size() >= 2 ) {
result = org;
break;
}
}
return result;
}
}