import java.sql.SQLException;
import org.apache.log4j.Logger;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.dialect.MySQL5Dialect;
+import org.hibernate.dialect.MySQL5InnoDBDialect;
+import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.wamblee.general.BeanKernel;
import org.wamblee.security.authorization.AuthorizationService;
import org.wamblee.security.authorization.AuthorizationServiceTest;
import org.wamblee.security.authorization.TestUserAccessor;
+import org.wamblee.system.adapters.ClassConfiguration;
+import org.wamblee.system.adapters.ClassConfigurationTest;
import org.wamblee.system.adapters.DefaultContainer;
import org.wamblee.system.adapters.ObjectConfiguration;
+import org.wamblee.system.components.DatabaseComponentFactory;
import org.wamblee.system.core.Scope;
import org.wamblee.system.spring.component.DatabaseTesterComponent;
+import org.wamblee.system.spring.component.DatasourceComponent;
import org.wamblee.usermgt.UserAccessor;
import org.wamblee.usermgt.hibernate.AuthorizationComponent;
-import org.wamblee.usermgt.hibernate.DatabaseComponentFactory;
-import org.wamblee.usermgt.hibernate.DatasourceComponent;
import org.wamblee.usermgt.hibernate.HibernateUserAdministrationTest;
import org.wamblee.usermgt.hibernate.UserAdministrationComponent;
private static final String PATHCOND_TABLE = "PATH_CONDITIONS";
private static final String USERCOND_TABLE = "USER_CONDITIONS";
- private DefaultContainer _container;
- private Scope _scope;
+ private DefaultContainer container;
+ private Scope scope;
- private DatabaseTesterComponent _databaseTester;
- private UserAccessor _userAccessor;
- private HibernateTemplate _hibernateTemplate;
- private AuthorizationService _authorizationService;
+ private DatabaseTesterComponent databaseTester;
+ private UserAccessor userAccessor;
+ private HibernateTemplate hibernateTemplate;
+ private AuthorizationService authorizationService;
@Override
protected void setUp() throws Exception {
- _container = new DefaultContainer("top");
- DatabaseComponentFactory.addDatabaseConfig(_container);
- _container.addComponent(new DatasourceComponent("datasource"));
- _container.addComponent("userAccessor", TestUserAccessor.class);
- _container.addComponent(new AuthorizationComponent("authorization",
+ container = new DefaultContainer("top");
+ DatabaseComponentFactory.addDatabaseConfig(container);
+ container.addComponent(new DatasourceComponent("datasource"));
+ ClassConfiguration useraccessorConfig = new ClassConfiguration(
+ TestUserAccessor.class);
+ useraccessorConfig.getObjectConfig().getSetterConfig().initAllSetters();
+ container.addComponent("userAccessor", useraccessorConfig);
+ container.addComponent(new AuthorizationComponent("authorization",
true));
- _container
- .addComponent("databaseTester", DatabaseTesterComponent.class);
+ ClassConfiguration dbtesterConfig = new ClassConfiguration(
+ DatabaseTesterComponent.class);
+ dbtesterConfig.getObjectConfig().getSetterConfig().initAllSetters();
+ container.addComponent("databaseTester", dbtesterConfig);
ObjectConfiguration config = new ObjectConfiguration(
PersistentAuthorizationServiceTest.class);
- config.getSetterConfig().clear().add("userAccessor").add(
- "databaseTester").add("hibernateTemplate").add(
- "authorizationService");
- _container.addComponent("testcase", this, config);
+ config.getSetterConfig().clear().add("setUserAccessor").add(
+ "setDatabaseTester").add("setHibernateTemplate").add(
+ "setAuthorizationService");
+ container.addComponent("testcase", this, config);
- _scope = _container.start();
+ scope = container.start();
- _databaseTester.cleanDatabase();
+ databaseTester.cleanDatabase();
super.setUp();
}
public void setDatabaseTester(DatabaseTesterComponent aDatabaseTester) {
- _databaseTester = aDatabaseTester;
+ databaseTester = aDatabaseTester;
}
public void setUserAccessor(UserAccessor aUserAccessor) {
- _userAccessor = aUserAccessor;
+ userAccessor = aUserAccessor;
}
public void setHibernateTemplate(HibernateTemplate aHibernateTemplate) {
- _hibernateTemplate = aHibernateTemplate;
+ hibernateTemplate = aHibernateTemplate;
}
-
+
public void setAuthorizationService(
AuthorizationService aAuthorizationService) {
- _authorizationService = aAuthorizationService;
+ authorizationService = aAuthorizationService;
}
/*
* (non-Javadoc)
*
- * @see org.wamblee.security.authorization.AuthorizationServiceTest#createService()
+ * @see
+ * org.wamblee.security.authorization.AuthorizationServiceTest#createService
+ * ()
*/
@Override
protected AuthorizationService createService() {
PersistentAuthorizationService service = new PersistentAuthorizationService(
- "DEFAULT", _hibernateTemplate, createUserAccessor(), 10000);
+ "DEFAULT", hibernateTemplate, createUserAccessor(), 10000);
return service;
}
/*
* (non-Javadoc)
*
- * @see org.wamblee.security.authorization.AuthorizationServiceTest#checkRuleCount(int)
+ * @see
+ * org.wamblee.security.authorization.AuthorizationServiceTest#checkRuleCount
+ * (int)
*/
@Override
protected void checkRuleCount(int aCount) {
try {
- assertEquals(1, _databaseTester.getTableSize(SERVICE_TABLE));
- assertEquals(aCount, _databaseTester.getTableSize(RULES_TABLE));
- assertEquals(aCount, _databaseTester.getTableSize(SERVICE_RULES_TABLE));
- assertEquals(aCount, _databaseTester.getTableSize(USERCOND_TABLE));
- assertEquals(aCount, _databaseTester.getTableSize(PATHCOND_TABLE));
- assertEquals(aCount, _databaseTester.getTableSize(OPERATIONCOND_TABLE));
+ assertEquals(1, databaseTester.getTableSize(SERVICE_TABLE));
+ assertEquals(aCount, databaseTester.getTableSize(RULES_TABLE));
+ assertEquals(aCount, databaseTester
+ .getTableSize(SERVICE_RULES_TABLE));
+ assertEquals(aCount, databaseTester.getTableSize(USERCOND_TABLE));
+ assertEquals(aCount, databaseTester.getTableSize(PATHCOND_TABLE));
+ assertEquals(aCount, databaseTester
+ .getTableSize(OPERATIONCOND_TABLE));
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
+ public void testSchemaExport() {
+ Configuration config = new Configuration();
+ for (String mappingFile: new AuthorizationMappingFiles()) {
+ config.addResource(mappingFile);
+ }
+ config.setProperty("hibernate.dialect", MySQL5InnoDBDialect.class.getName());
+ SchemaExport exporter = new SchemaExport(config);
+ exporter.setOutputFile("target/mysql5.schema.sql");
+ exporter.create(true,false);
+ }
+
public void testPerformance() {
PersistentAuthorizationService service = (PersistentAuthorizationService) getService();