package com.github.wicketoracle.app.data.list; import java.sql.SQLException; import org.apache.wicket.authorization.strategies.role.annotations.AuthorizeInstantiation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.github.wicketoracle.app.data.RequiredRoles; import com.github.wicketoracle.html.page.StandardPage; import com.github.wicketoracle.session.Session; @AuthorizeInstantiation( RequiredRoles.ROLE_REF_DATA_MGR ) public abstract class AbstractListMgrPage extends StandardPage { private static final Logger LOGGER = LoggerFactory.getLogger( AbstractListMgrPage.class ); public final ListMetaData getListMetaData( final int pRdsId ) { ListMetaData metaData = null; AbstractListMgrDAO dataService = null; try { final Session session = ( Session ) getSession(); dataService = new AbstractListMgrDAO( session.getUsername() , session.getPassword() ) { }; metaData = dataService.getMetaData( pRdsId ); } catch ( SQLException sqle ) { LOGGER.error ( "SQL Exception while retrieving list meta data -> {}; error code -> {}; sql state -> {}" , new Object[] { sqle.getMessage() , sqle.getErrorCode() , sqle.getSQLState() } ); } finally { if ( ! dataService.closeConnection() ) { error( getLocalizer().getString( "MessageUnexpectedError" , this ) ); } } return metaData; } }