beginning the underlying service architecture migration - the "global site" is

the lowest level component, now contains the DataPool...will gradually
supplant EnvEngine and the rest
This commit is contained in:
Eric J. Bowersox 2002-05-04 08:20:13 +00:00
parent a54d2c4e80
commit 128c33cd9b
35 changed files with 921 additions and 311 deletions

View File

@ -93,7 +93,7 @@ class AdminOperationsImpl implements AdminOperations
} // end catch } // end catch
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -120,7 +120,7 @@ class AdminOperationsImpl implements AdminOperations
} // end catch } // end catch
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -140,7 +140,7 @@ class AdminUserContextImpl implements AdminUserContext
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -237,7 +237,7 @@ class AdminUserContextImpl implements AdminUserContext
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -280,7 +280,7 @@ class AdminUserContextImpl implements AdminUserContext
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -335,7 +335,7 @@ class AdminUserContextImpl implements AdminUserContext
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -378,7 +378,7 @@ class AdminUserContextImpl implements AdminUserContext
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -448,7 +448,7 @@ class AdminUserContextImpl implements AdminUserContext
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end if } // end if
@ -484,7 +484,7 @@ class AdminUserContextImpl implements AdminUserContext
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -529,7 +529,7 @@ class AdminUserContextImpl implements AdminUserContext
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -574,7 +574,7 @@ class AdminUserContextImpl implements AdminUserContext
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -654,7 +654,7 @@ class AdminUserContextImpl implements AdminUserContext
finally finally
{ // release the connection where necessary { // release the connection where necessary
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -689,7 +689,7 @@ class AdminUserContextImpl implements AdminUserContext
finally finally
{ // release the connection where necessary { // release the connection where necessary
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -149,7 +149,7 @@ class AdvertisementImpl implements Advertisement
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -189,7 +189,7 @@ class AdvertisementImpl implements Advertisement
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -169,7 +169,7 @@ class BackgroundCommunityPurge implements Runnable
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -123,7 +123,7 @@ class BackgroundConferencePurge implements Runnable
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -107,7 +107,7 @@ class BackgroundTopicPurge implements Runnable
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -104,7 +104,7 @@ class CategoryDescriptorImpl implements CategoryDescriptor, Cloneable
} // end catch } // end catch
finally finally
{ // make sure and release the connection before we go { // make sure and release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -284,7 +284,7 @@ class CategoryDescriptorImpl implements CategoryDescriptor, Cloneable
finally finally
{ // make sure and release the connection before we go { // make sure and release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -417,7 +417,7 @@ class CategoryDescriptorImpl implements CategoryDescriptor, Cloneable
finally finally
{ // make sure and release the connection before we go { // make sure and release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -497,7 +497,7 @@ class CategoryDescriptorImpl implements CategoryDescriptor, Cloneable
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -566,7 +566,7 @@ class CategoryDescriptorImpl implements CategoryDescriptor, Cloneable
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -180,7 +180,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -347,7 +347,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -547,7 +547,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -598,7 +598,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -704,7 +704,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -743,7 +743,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -782,7 +782,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -821,7 +821,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -857,7 +857,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -893,7 +893,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -929,7 +929,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -963,7 +963,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1017,7 +1017,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1062,7 +1062,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1104,7 +1104,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1144,7 +1144,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1183,7 +1183,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1267,7 +1267,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1359,7 +1359,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1400,7 +1400,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1572,7 +1572,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1668,7 +1668,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1727,7 +1727,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1772,7 +1772,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1851,7 +1851,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1934,7 +1934,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -2096,7 +2096,7 @@ class CommunityCoreData implements CommunityData, CommunityDataBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -405,7 +405,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -546,8 +546,10 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
} // end if } // end if
/* XXX come back to this!
if (svc.isLocked()) if (svc.isLocked())
return; // can't modify the state of a locked service return; // can't modify the state of a locked service
*/
getData().setServiceEnable(env,token,enable); getData().setServiceEnable(env,token,enable);
@ -1298,7 +1300,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
} // end catch } // end catch
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1334,7 +1336,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
} // end catch } // end catch
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1466,7 +1468,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1522,7 +1524,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1675,7 +1677,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1703,7 +1705,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1746,7 +1748,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1839,7 +1841,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1921,7 +1923,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1973,7 +1975,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -2020,7 +2022,7 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -142,7 +142,7 @@ class ConferenceCommunityContextImpl implements ConferenceCommunityContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -455,7 +455,7 @@ class ConferenceCommunityContextImpl implements ConferenceCommunityContext
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -501,7 +501,7 @@ class ConferenceCommunityContextImpl implements ConferenceCommunityContext
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -568,7 +568,7 @@ class ConferenceCommunityContextImpl implements ConferenceCommunityContext
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -745,7 +745,7 @@ class ConferenceCommunityContextImpl implements ConferenceCommunityContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -115,7 +115,7 @@ class ConferenceCoreData implements ConferenceData
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -323,7 +323,7 @@ class ConferenceCoreData implements ConferenceData
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -422,7 +422,7 @@ class ConferenceCoreData implements ConferenceData
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -472,7 +472,7 @@ class ConferenceCoreData implements ConferenceData
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -604,7 +604,7 @@ class ConferenceCoreData implements ConferenceData
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -651,7 +651,7 @@ class ConferenceCoreData implements ConferenceData
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -692,7 +692,7 @@ class ConferenceCoreData implements ConferenceData
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -757,7 +757,7 @@ class ConferenceCoreData implements ConferenceData
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -837,7 +837,7 @@ class ConferenceCoreData implements ConferenceData
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -920,7 +920,7 @@ class ConferenceCoreData implements ConferenceData
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -969,7 +969,7 @@ class ConferenceCoreData implements ConferenceData
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1075,7 +1075,7 @@ class ConferenceCoreData implements ConferenceData
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1213,7 +1213,7 @@ class ConferenceCoreData implements ConferenceData
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1253,7 +1253,7 @@ class ConferenceCoreData implements ConferenceData
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1343,7 +1343,7 @@ class ConferenceCoreData implements ConferenceData
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1428,7 +1428,7 @@ class ConferenceCoreData implements ConferenceData
} // end catch } // end catch
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1507,7 +1507,7 @@ class ConferenceCoreData implements ConferenceData
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1544,7 +1544,7 @@ class ConferenceCoreData implements ConferenceData
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1696,7 +1696,7 @@ class ConferenceCoreData implements ConferenceData
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -815,7 +815,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -860,7 +860,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -973,7 +973,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1078,7 +1078,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1132,7 +1132,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1200,7 +1200,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1315,7 +1315,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1374,7 +1374,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1421,7 +1421,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1454,7 +1454,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1604,7 +1604,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1711,7 +1711,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1764,7 +1764,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -2025,7 +2025,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -2078,7 +2078,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -2131,7 +2131,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -2204,7 +2204,7 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -202,7 +202,7 @@ class ContactInfoImpl implements ContactInfo, Stashable
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -130,7 +130,7 @@ class ImageStore implements BinaryData
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -177,7 +177,7 @@ class ImageStore implements BinaryData
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -242,7 +242,7 @@ class ImageStore implements BinaryData
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -297,7 +297,7 @@ class ImageStore implements BinaryData
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -177,7 +177,7 @@ class PublishedMessageImpl implements TopicMessageContext
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -251,7 +251,7 @@ class PublishedMessageImpl implements TopicMessageContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -422,7 +422,7 @@ class PublishedMessageImpl implements TopicMessageContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -477,7 +477,7 @@ class PublishedMessageImpl implements TopicMessageContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -113,7 +113,7 @@ class PublishedMessageTopicImpl implements TopicContext
finally finally
{ // release the connection { // release the connection
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -27,6 +27,7 @@ import com.silverwrist.venice.core.ServiceToken;
import com.silverwrist.venice.except.*; import com.silverwrist.venice.except.*;
import com.silverwrist.venice.security.*; import com.silverwrist.venice.security.*;
import com.silverwrist.venice.svc.*; import com.silverwrist.venice.svc.*;
import com.silverwrist.venice.svc.internal.*;
import com.silverwrist.venice.util.XMLLoader; import com.silverwrist.venice.util.XMLLoader;
class ServiceControlManager implements ServiceControl class ServiceControlManager implements ServiceControl
@ -46,19 +47,6 @@ class ServiceControlManager implements ServiceControl
} // end class MyServiceToken } // end class MyServiceToken
/*--------------------------------------------------------------------------------
* Internal "Community Service Site" class
*--------------------------------------------------------------------------------
*/
class MyCommServiceSite implements CommServiceSite
{
MyCommServiceSite()
{ // do nothing
} // end constructor
} // end class MyCommServiceSite
/*-------------------------------------------------------------------------------- /*--------------------------------------------------------------------------------
* Internal "Service Predicate" class * Internal "Service Predicate" class
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
@ -66,7 +54,7 @@ class ServiceControlManager implements ServiceControl
abstract class ServicePredicate abstract class ServicePredicate
{ {
public abstract boolean test(Service svc); public abstract boolean test(ServiceInternal svc);
} // end class ServicePredicate } // end class ServicePredicate
@ -92,7 +80,7 @@ class ServiceControlManager implements ServiceControl
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
ServiceControlManager(Document cfg, SecurityMonitorEnvironment sm_env) ServiceControlManager(GlobalSite globalsite, Document cfg, SecurityMonitorEnvironment sm_env)
throws ConfigException throws ConfigException
{ {
XMLLoader loader = XMLLoader.get(); XMLLoader loader = XMLLoader.get();
@ -117,9 +105,10 @@ class ServiceControlManager implements ServiceControl
Node n = nl.item(i); Node n = nl.item(i);
if ((n.getNodeType()==Node.ELEMENT_NODE) && (n.getNodeName().equals("service"))) if ((n.getNodeType()==Node.ELEMENT_NODE) && (n.getNodeName().equals("service")))
{ // create the appropriate service settings { // create the appropriate service settings
CommService svc = initCommunityService((Element)n,sm_comm); CommServiceInternal svc = initCommunityService((Element)n,globalsite,sm_comm);
tmp_symbol_to_service.put(svc.getToken().getSymbol(),svc); ServiceToken tok = svc.getExternal().getToken();
tmp_index_to_service.put(new Integer(svc.getToken().getIndex()),svc); tmp_symbol_to_service.put(tok.getSymbol(),svc);
tmp_index_to_service.put(new Integer(tok.getIndex()),svc);
} // end if } // end if
@ -171,13 +160,14 @@ class ServiceControlManager implements ServiceControl
} // end newToken } // end newToken
private final CommService initCommunityService(Element root, SecurityMonitor sm) throws ConfigException private final CommServiceInternal initCommunityService(Element root, GlobalSite globalsite,
SecurityMonitor sm) throws ConfigException
{ {
ServiceToken token = newToken(SVCGRP_COMMUNITY,root); ServiceToken token = newToken(SVCGRP_COMMUNITY,root);
CommService svc; CommServiceInternal svc;
// FUTURE: do a create of a specific class // FUTURE: do a create of a specific class
svc = new StaticCommService(); svc = new StaticCommService();
svc.initialize(token,root,sm,new MyCommServiceSite()); svc.initialize(token,root,sm,globalsite);
return svc; return svc;
} // end initCommunityService } // end initCommunityService
@ -188,9 +178,9 @@ class ServiceControlManager implements ServiceControl
Iterator it = symbol_to_service[group].values().iterator(); Iterator it = symbol_to_service[group].values().iterator();
while (it.hasNext()) while (it.hasNext())
{ // get each service in turn { // get each service in turn
Service svc = (Service)(it.next()); ServiceInternal svc = (ServiceInternal)(it.next());
if (predicate.test(svc)) if (predicate.test(svc))
tmp.add(svc.getToken()); tmp.add(svc.getExternal().getToken());
} // end while } // end while
@ -199,7 +189,7 @@ class ServiceControlManager implements ServiceControl
else else
return Collections.unmodifiableSet(tmp); return Collections.unmodifiableSet(tmp);
} // end listCommunities } // end listServices
/*-------------------------------------------------------------------------------- /*--------------------------------------------------------------------------------
* Implementations from interface ServiceControl * Implementations from interface ServiceControl
@ -218,7 +208,7 @@ class ServiceControlManager implements ServiceControl
if (rc==null) if (rc==null)
{ // need to regenerate the set { // need to regenerate the set
rc = listServices(group,new ServicePredicate(){ rc = listServices(group,new ServicePredicate(){
public final boolean test(Service svc) { return true; } public final boolean test(ServiceInternal svc) { return true; }
}); });
// cache the result // cache the result
@ -244,7 +234,7 @@ class ServiceControlManager implements ServiceControl
if (rc==null) if (rc==null)
{ // need to regenerate the set { // need to regenerate the set
rc = listServices(group,new ServicePredicate(){ rc = listServices(group,new ServicePredicate(){
public final boolean test(Service svc) { return svc.isDefault(); } public final boolean test(ServiceInternal svc) { return svc.isDefault(); }
}); });
// cache the result // cache the result
@ -262,7 +252,7 @@ class ServiceControlManager implements ServiceControl
{ {
if ((group<0) || (group>=NUM_SVCGRPS)) if ((group<0) || (group>=NUM_SVCGRPS))
throw new IndexOutOfBoundsException("group index not valid"); throw new IndexOutOfBoundsException("group index not valid");
return (Service)(symbol_to_service[group].get(sym)); return ((ServiceInternal)(symbol_to_service[group].get(sym))).getExternal();
} // end getServiceForSymbol } // end getServiceForSymbol
@ -300,7 +290,7 @@ class ServiceControlManager implements ServiceControl
Iterator it = symbol_to_service[i].values().iterator(); Iterator it = symbol_to_service[i].values().iterator();
while (it.hasNext()) while (it.hasNext())
{ // shut down each service in turn { // shut down each service in turn
Service svc = (Service)(it.next()); ServiceInternal svc = (ServiceInternal)(it.next());
svc.shutdown(); svc.shutdown();
} // end while } // end while

View File

@ -123,7 +123,7 @@ class SideBoxDescriptorImpl implements UserSideBoxDescriptor
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -155,7 +155,7 @@ class SideBoxDescriptorImpl implements UserSideBoxDescriptor
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -11,7 +11,7 @@
* *
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, * The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. * Copyright (C) 2001-02 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
* *
* Contributor(s): * Contributor(s):
*/ */
@ -23,8 +23,9 @@ import com.silverwrist.venice.core.ServiceToken;
import com.silverwrist.venice.except.*; import com.silverwrist.venice.except.*;
import com.silverwrist.venice.security.*; import com.silverwrist.venice.security.*;
import com.silverwrist.venice.svc.*; import com.silverwrist.venice.svc.*;
import com.silverwrist.venice.svc.internal.*;
class StaticCommService implements CommService class StaticCommService implements CommService, CommServiceInternal
{ {
/*-------------------------------------------------------------------------------- /*--------------------------------------------------------------------------------
* Attributes * Attributes
@ -52,16 +53,44 @@ class StaticCommService implements CommService
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
public void shutdown()
{ // do nothing
} // end shutdown
public ServiceToken getToken() public ServiceToken getToken()
{ {
return token; return token;
} // end getToken } // end getToken
public String getPermission()
{
return permission;
} // end getPermission
public Role getRole()
{
return role;
} // end getRole
/*--------------------------------------------------------------------------------
* Implementations from interface CommService
*--------------------------------------------------------------------------------
*/
/*--------------------------------------------------------------------------------
* Implementations from interface ServiceInternal
*--------------------------------------------------------------------------------
*/
public Service getExternal()
{
return (CommService)this;
} // end getExternal
public void shutdown()
{ // do nothing
} // end shutdown
public boolean isDefault() public boolean isDefault()
{ {
return is_default; return is_default;
@ -75,11 +104,11 @@ class StaticCommService implements CommService
} // end isLocked } // end isLocked
/*-------------------------------------------------------------------------------- /*--------------------------------------------------------------------------------
* Implementations from interface CommunityService * Implementations from interface CommServiceInternal
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
public void initialize(ServiceToken token, Element root, SecurityMonitor sm, CommServiceSite site) public void initialize(ServiceToken token, Element root, SecurityMonitor sm, GlobalSite site)
throws ConfigException throws ConfigException
{ {
this.token = token; this.token = token;
@ -139,16 +168,4 @@ class StaticCommService implements CommService
} // end initialize } // end initialize
public String getPermission()
{
return permission;
} // end getPermission
public Role getRole()
{
return role;
} // end getRole
} // end class StaticCommService } // end class StaticCommService

View File

@ -260,7 +260,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -355,7 +355,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -480,7 +480,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -570,7 +570,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -691,7 +691,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -789,7 +789,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -960,7 +960,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1007,7 +1007,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1087,7 +1087,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1128,7 +1128,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1306,7 +1306,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1380,7 +1380,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1434,7 +1434,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1484,7 +1484,7 @@ class TopicMessageUserContextImpl implements TopicMessageContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -224,7 +224,7 @@ class TopicUserContextImpl implements TopicContext
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -358,7 +358,7 @@ class TopicUserContextImpl implements TopicContext
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -408,7 +408,7 @@ class TopicUserContextImpl implements TopicContext
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -475,7 +475,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -588,7 +588,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -889,7 +889,7 @@ class TopicUserContextImpl implements TopicContext
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1007,7 +1007,7 @@ class TopicUserContextImpl implements TopicContext
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1066,7 +1066,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1127,7 +1127,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1169,7 +1169,7 @@ class TopicUserContextImpl implements TopicContext
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1237,7 +1237,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1274,7 +1274,7 @@ class TopicUserContextImpl implements TopicContext
} // end catch } // end catch
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1353,7 +1353,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1461,7 +1461,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1534,7 +1534,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1585,7 +1585,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1764,7 +1764,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1804,7 +1804,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1857,7 +1857,7 @@ class TopicUserContextImpl implements TopicContext
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -172,7 +172,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure we release the connection { // make sure we release the connection
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -312,7 +312,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -481,7 +481,7 @@ class UserContextImpl implements UserContext, UserBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end if } // end if
@ -541,7 +541,7 @@ class UserContextImpl implements UserContext, UserBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end if } // end if
@ -598,7 +598,7 @@ class UserContextImpl implements UserContext, UserBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end if } // end if
@ -733,7 +733,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end if } // end if
@ -764,7 +764,7 @@ class UserContextImpl implements UserContext, UserBackend
} // end catch } // end catch
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -793,7 +793,7 @@ class UserContextImpl implements UserContext, UserBackend
} // end catch } // end catch
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -836,7 +836,7 @@ class UserContextImpl implements UserContext, UserBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -874,7 +874,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1041,7 +1041,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1102,7 +1102,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1166,7 +1166,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1211,7 +1211,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1249,7 +1249,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1429,7 +1429,7 @@ class UserContextImpl implements UserContext, UserBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end if } // end if
@ -1548,7 +1548,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1604,7 +1604,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1715,7 +1715,7 @@ class UserContextImpl implements UserContext, UserBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1757,7 +1757,7 @@ class UserContextImpl implements UserContext, UserBackend
} // end catch } // end catch
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1931,7 +1931,7 @@ class UserContextImpl implements UserContext, UserBackend
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
AuditRecord.store(conn,ar); AuditRecord.store(conn,ar);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -33,6 +33,7 @@ import com.silverwrist.venice.htmlcheck.dict.*;
import com.silverwrist.venice.htmlcheck.filters.*; import com.silverwrist.venice.htmlcheck.filters.*;
import com.silverwrist.venice.security.*; import com.silverwrist.venice.security.*;
import com.silverwrist.venice.svc.*; import com.silverwrist.venice.svc.*;
import com.silverwrist.venice.svc.internal.GlobalSite;
import com.silverwrist.venice.util.XMLLoader; import com.silverwrist.venice.util.XMLLoader;
public class VeniceEngineImpl implements VeniceEngine, EngineBackend public class VeniceEngineImpl implements VeniceEngine, EngineBackend
@ -253,6 +254,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
private GlobalSiteImpl globalsite = null; // my global site
private EnvEngine env = null; // my environment private EnvEngine env = null; // my environment
private Random rng; // random number generator private Random rng; // random number generator
private Properties email_props = null; // email properties private Properties email_props = null; // email properties
@ -319,7 +321,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
private final void checkInitialized() private final void checkInitialized()
{ {
if (env==null) if (globalsite==null)
throw new InternalStateError("Venice engine not initialized!"); throw new InternalStateError("Venice engine not initialized!");
} // end checkInitialized } // end checkInitialized
@ -424,7 +426,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -539,14 +541,13 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
{ {
int i; // loop counter int i; // loop counter
if (env!=null) if (globalsite!=null)
{ // already configured! { // already configured!
logger.error("Venice engine already initialized"); logger.error("Venice engine already initialized");
throw new ConfigException("Venice engine already initialized"); throw new ConfigException("Venice engine already initialized");
} // end if } // end if
DataPool datapool = null;
Collection dictionary_tmp; Collection dictionary_tmp;
try try
{ // first, verify that this is a valid configuration { // first, verify that this is a valid configuration
@ -568,20 +569,8 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
if (!(services_config.startsWith("/"))) if (!(services_config.startsWith("/")))
services_config = app_root + services_config; services_config = app_root + services_config;
// Get the <database/> section. // Create the global site.
sect = loader.configGetSubSection(root_h,"database"); globalsite = new GlobalSiteImpl(this,root);
try
{ // allocate the data pool object
datapool = new DataPool(sect);
} // end try
catch (SQLException e)
{ // could not initialize the SQL database! this is a big fat error!
logger.fatal("data pool init failed - " + e.getMessage(),e);
throw new ConfigException("database access initialization failed - " + e.getMessage(),e);
} // end catch
// Get the <security/> section. // Get the <security/> section.
sect = loader.configGetSubSection(root_h,"security"); sect = loader.configGetSubSection(root_h,"security");
@ -680,19 +669,19 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
// Now done with the sidebox config... // Now done with the sidebox config...
// Load the services config file. // Load the services config file.
subdoc = loader.loadConfigDocument(services_config); subdoc = loader.loadConfigDocument(services_config);
scmgr = new ServiceControlManager(subdoc,sm_env); scmgr = new ServiceControlManager(globalsite,subdoc,sm_env);
} // end try } // end try
catch (ConfigException ce) catch (ConfigException ce)
{ // before we leave on a ConfigException, nuke the important data { // before we leave on a ConfigException, nuke the important data
if (datapool!=null) if (globalsite!=null)
datapool.closeAllConnections(); globalsite.shutdown();
throw ce; throw ce;
} // end catch } // end catch
// Initialize the environment. // Initialize the environment.
env = new EnvEngine(this,datapool,scmgr); env = new EnvEngine(globalsite,this,scmgr);
for (i=0; i<sideboxes.length; i++) // insert sideboxes into hashtable for (i=0; i<sideboxes.length; i++) // insert sideboxes into hashtable
sidebox_ids.put(new Integer(sideboxes[i].getID()),sideboxes[i]); sidebox_ids.put(new Integer(sideboxes[i].getID()),sideboxes[i]);
@ -721,7 +710,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -732,8 +721,8 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
SQLEncodingFilter sql_filter = new SQLEncodingFilter(); SQLEncodingFilter sql_filter = new SQLEncodingFilter();
SpellingRewriter spell_rewriter = new SpellingRewriter(); SpellingRewriter spell_rewriter = new SpellingRewriter();
URLRewriter url_rewriter = new URLRewriter(); URLRewriter url_rewriter = new URLRewriter();
PostLinkRewriter postlink_rewriter = new PostLinkRewriter(env.getDataPool()); PostLinkRewriter postlink_rewriter = new PostLinkRewriter(globalsite);
UserNameRewriter username_rewriter = new UserNameRewriter(env.getDataPool()); UserNameRewriter username_rewriter = new UserNameRewriter(globalsite);
// Create the LazyLexicon that holds our dictionary files, and add it to the SpellingRewriter. // Create the LazyLexicon that holds our dictionary files, and add it to the SpellingRewriter.
LazyTreeLexicon lex = new LazyTreeLexicon((String[])(dictionary_tmp.toArray(new String[0]))); LazyTreeLexicon lex = new LazyTreeLexicon((String[])(dictionary_tmp.toArray(new String[0])));
@ -840,7 +829,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
public void shutdown() throws ConfigException public void shutdown() throws ConfigException
{ {
if (env==null) if (globalsite==null)
{ // already configured! { // already configured!
logger.error("Venice engine not initialized"); logger.error("Venice engine not initialized");
throw new ConfigException("Venice engine not initialized"); throw new ConfigException("Venice engine not initialized");
@ -848,8 +837,9 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
} // end if } // end if
scmgr.shutdown(); scmgr.shutdown();
env.getDataPool().closeAllConnections();
env = null; env = null;
globalsite.shutdown();
globalsite = null;
} // end shutdown } // end shutdown
@ -900,7 +890,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -977,7 +967,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1029,7 +1019,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1117,7 +1107,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1153,7 +1143,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1248,7 +1238,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1337,7 +1327,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1374,7 +1364,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure we release the connection before we go { // make sure we release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1406,7 +1396,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally
@ -1709,7 +1699,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
env.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -26,6 +26,7 @@ import com.silverwrist.venice.db.*;
import com.silverwrist.venice.except.AccessError; import com.silverwrist.venice.except.AccessError;
import com.silverwrist.venice.security.*; import com.silverwrist.venice.security.*;
import com.silverwrist.venice.svc.ServiceControl; import com.silverwrist.venice.svc.ServiceControl;
import com.silverwrist.venice.svc.internal.GlobalSite;
public class EnvEngine public class EnvEngine
{ {
@ -41,8 +42,8 @@ public class EnvEngine
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
private GlobalSite globalsite; // the global site
private EngineBackend engine; // the engine private EngineBackend engine; // the engine
private DataPool datapool; // the database pool
private ServiceControl scon; // the service controller private ServiceControl scon; // the service controller
/*-------------------------------------------------------------------------------- /*--------------------------------------------------------------------------------
@ -50,18 +51,18 @@ public class EnvEngine
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
public EnvEngine(EngineBackend engine, DataPool datapool, ServiceControl scon) public EnvEngine(GlobalSite globalsite, EngineBackend engine, ServiceControl scon)
{ {
this.globalsite = globalsite;
this.engine = engine; this.engine = engine;
this.datapool = datapool;
this.scon = scon; this.scon = scon;
} // end constructor } // end constructor
protected EnvEngine(EnvEngine other) protected EnvEngine(EnvEngine other)
{ {
this.globalsite = other.globalsite;
this.engine = other.engine; this.engine = other.engine;
this.datapool = other.datapool;
this.scon = other.scon; this.scon = other.scon;
} // end constructor } // end constructor
@ -82,18 +83,18 @@ public class EnvEngine
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
public final GlobalSite getGlobalSite()
{
return globalsite;
} // end getGlobalSite
public final EngineBackend getEngine() public final EngineBackend getEngine()
{ {
return engine; return engine;
} // end getEngine } // end getEngine
public final DataPool getDataPool()
{
return datapool;
} // end getDataPool
public final ServiceControl getSCM() public final ServiceControl getSCM()
{ {
return scon; return scon;
@ -102,16 +103,10 @@ public class EnvEngine
public final Connection getConnection() throws SQLException public final Connection getConnection() throws SQLException
{ {
return datapool.getConnection(); return globalsite.getConnection(null);
} // end getConnection } // end getConnection
public final void releaseConnection(Connection c)
{
datapool.releaseConnection(c);
} // end releaseConnection
public final boolean permissionDefined(String symbol, boolean no_follow) public final boolean permissionDefined(String symbol, boolean no_follow)
{ {
return getStaticMonitor().permissionDefined(symbol,no_follow); return getStaticMonitor().permissionDefined(symbol,no_follow);
@ -157,7 +152,7 @@ public class EnvEngine
try try
{ // get a connection and use it to store the audit record { // get a connection and use it to store the audit record
conn = datapool.getConnection(); conn = globalsite.getConnection(null);
ar.store(conn); ar.store(conn);
} // end try } // end try
@ -168,7 +163,7 @@ public class EnvEngine
} // end catch } // end catch
finally finally
{ // make sure the connection is released before we go { // make sure the connection is released before we go
datapool.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -0,0 +1,118 @@
/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at <http://www.mozilla.org/MPL/>.
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001-02 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.core.internals;
import java.sql.*;
import org.apache.log4j.*;
import org.w3c.dom.*;
import com.silverwrist.util.*;
import com.silverwrist.venice.db.*;
import com.silverwrist.venice.except.*;
import com.silverwrist.venice.svc.internal.GlobalSite;
import com.silverwrist.venice.util.ServiceProvider;
import com.silverwrist.venice.util.XMLLoader;
public class GlobalSiteImpl implements GlobalSite
{
/*--------------------------------------------------------------------------------
* Static data members
*--------------------------------------------------------------------------------
*/
private static Category logger = Category.getInstance(GlobalSiteImpl.class);
/*--------------------------------------------------------------------------------
* Attributes
*--------------------------------------------------------------------------------
*/
private EngineBackend engine; // the engine back end
private DataPool datapool; // the database pool
/*--------------------------------------------------------------------------------
* Constructor
*--------------------------------------------------------------------------------
*/
public GlobalSiteImpl(EngineBackend engine, Element config) throws ConfigException
{
this.engine = engine;
XMLLoader loader = XMLLoader.get();
// Get the <database/> section.
DOMElementHelper config_h = new DOMElementHelper(config);
Element sect = loader.configGetSubSection(config_h,"database");
try
{ // allocate the data pool object
datapool = new DataPool(sect);
} // end try
catch (SQLException e)
{ // could not initialize the SQL database! this is a big fat error!
logger.fatal("data pool init failed - " + e.getMessage(),e);
throw new ConfigException("database access initialization failed - " + e.getMessage(),e);
} // end catch
} // end class GlobalSiteImpl
/*--------------------------------------------------------------------------------
* Implementations from interface ServiceProvider
*--------------------------------------------------------------------------------
*/
public Object queryService(Class klass)
{
if (klass==DataPool.class)
return datapool;
throw new NoSuchServiceException("GlobalSite",klass);
} // end queryService
public Object queryService(Class klass, String serviceid)
{
return this.queryService(klass);
} // end queryService
/*--------------------------------------------------------------------------------
* Implementations from interface GlobalSite
*--------------------------------------------------------------------------------
*/
public Connection getConnection(String db_selector) throws SQLException
{
// db_selector is ignored for now
return datapool.getConnection();
} // end getConnection
/*--------------------------------------------------------------------------------
* External operations
*--------------------------------------------------------------------------------
*/
public void shutdown()
{
if (datapool!=null)
datapool.closeAllConnections();
} // end shutdown
} // end class GlobalSiteImpl

View File

@ -429,7 +429,7 @@ public class DataPool implements Runnable
else else
{ // this connection is OK - return it { // this connection is OK - return it
busy_connections.addElement(rc); busy_connections.addElement(rc);
return rc; return new WrappedConnection(this,rc);
} // end else } // end else
@ -444,10 +444,28 @@ public class DataPool implements Runnable
* *
* @param c The connection to be returned to the pool. * @param c The connection to be returned to the pool.
*/ */
public synchronized void releaseConnection(Connection c) synchronized void releaseConnection(Connection c)
{ {
if (c!=null) if (c!=null)
{ // move from one vector to another { // can release this connection
if (c instanceof WrappedConnection)
{ // close our wrapped connection
try
{ // close the connection
c.close();
} // end try
catch (SQLException e)
{ // log exception and continue
logger.error("c.close() exception",e);
} // end catch
return;
} // end if
// move from one vector to another
busy_connections.removeElement(c); busy_connections.removeElement(c);
avail_connections.addElement(c); avail_connections.addElement(c);
notifyAll(); // wake up! Got a new connection for you! notifyAll(); // wake up! Got a new connection for you!
@ -488,5 +506,3 @@ public class DataPool implements Runnable
} // end toString } // end toString
} // end class DataPool } // end class DataPool

View File

@ -23,6 +23,7 @@ import com.silverwrist.venice.htmlcheck.Rewriter;
import com.silverwrist.venice.htmlcheck.RewriterServices; import com.silverwrist.venice.htmlcheck.RewriterServices;
import com.silverwrist.venice.htmlcheck.MarkupData; import com.silverwrist.venice.htmlcheck.MarkupData;
import com.silverwrist.venice.except.ValidationException; import com.silverwrist.venice.except.ValidationException;
import com.silverwrist.venice.svc.internal.GlobalSite;
import com.silverwrist.venice.util.IDUtils; import com.silverwrist.venice.util.IDUtils;
public class PostLinkRewriter implements Rewriter public class PostLinkRewriter implements Rewriter
@ -39,16 +40,16 @@ public class PostLinkRewriter implements Rewriter
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
private DataPool datapool; private GlobalSite globalsite; // global site containing utilities
/*-------------------------------------------------------------------------------- /*--------------------------------------------------------------------------------
* Constructor * Constructor
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
public PostLinkRewriter(DataPool datapool) public PostLinkRewriter(GlobalSite globalsite)
{ {
this.datapool = datapool; this.globalsite = globalsite;
} // end constructor } // end constructor
@ -155,7 +156,7 @@ public class PostLinkRewriter implements Rewriter
try try
{ // verify against the database { // verify against the database
conn = datapool.getConnection(); conn = globalsite.getConnection(null);
pl.verifyNames(conn); pl.verifyNames(conn);
} // end try } // end try
@ -166,7 +167,7 @@ public class PostLinkRewriter implements Rewriter
} // end catch } // end catch
finally finally
{ // release the connection when we're done { // release the connection when we're done
datapool.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -284,6 +284,20 @@ public class SQLUtil
} // end shutdown } // end shutdown
public static final void shutdown(Connection conn)
{
try
{ // close the Connection
if (conn!=null)
conn.close();
} // end try
catch (SQLException e)
{ // ignore any SQL errors
} // end catch
} // end shutdown
public static final void unlockTables(Connection conn) public static final void unlockTables(Connection conn)
{ {
try try

View File

@ -22,6 +22,7 @@ import com.silverwrist.util.StringUtil;
import com.silverwrist.venice.htmlcheck.Rewriter; import com.silverwrist.venice.htmlcheck.Rewriter;
import com.silverwrist.venice.htmlcheck.RewriterServices; import com.silverwrist.venice.htmlcheck.RewriterServices;
import com.silverwrist.venice.htmlcheck.MarkupData; import com.silverwrist.venice.htmlcheck.MarkupData;
import com.silverwrist.venice.svc.internal.GlobalSite;
import com.silverwrist.venice.util.IDUtils; import com.silverwrist.venice.util.IDUtils;
public class UserNameRewriter implements Rewriter public class UserNameRewriter implements Rewriter
@ -38,16 +39,16 @@ public class UserNameRewriter implements Rewriter
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
private DataPool datapool; private GlobalSite globalsite; // global site containing utilities
/*-------------------------------------------------------------------------------- /*--------------------------------------------------------------------------------
* Constructor * Constructor
*-------------------------------------------------------------------------------- *--------------------------------------------------------------------------------
*/ */
public UserNameRewriter(DataPool datapool) public UserNameRewriter(GlobalSite globalsite)
{ {
this.datapool = datapool; this.globalsite = globalsite;
} // end constructor } // end constructor
@ -72,7 +73,7 @@ public class UserNameRewriter implements Rewriter
try try
{ // get a database connection and create a statement { // get a database connection and create a statement
conn = datapool.getConnection(); conn = globalsite.getConnection(null);
stmt = conn.createStatement(); stmt = conn.createStatement();
StringBuffer sql = new StringBuffer("SELECT uid FROM users WHERE username = '"); StringBuffer sql = new StringBuffer("SELECT uid FROM users WHERE username = '");
sql.append(SQLUtil.encodeString(data)).append("';"); sql.append(SQLUtil.encodeString(data)).append("';");
@ -89,7 +90,7 @@ public class UserNameRewriter implements Rewriter
finally finally
{ // make sure and release the connection before we go { // make sure and release the connection before we go
SQLUtil.shutdown(stmt); SQLUtil.shutdown(stmt);
datapool.releaseConnection(conn); SQLUtil.shutdown(conn);
} // end finally } // end finally

View File

@ -0,0 +1,412 @@
/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at <http://www.mozilla.org/MPL/>.
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001-02 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.db;
import java.sql.*;
class WrappedConnection implements Connection
{
/*--------------------------------------------------------------------------------
* Attributes
*--------------------------------------------------------------------------------
*/
private DataPool datapool;
private Connection conn;
/*--------------------------------------------------------------------------------
* Constructor
*--------------------------------------------------------------------------------
*/
WrappedConnection(DataPool datapool, Connection conn)
{
this.datapool = datapool;
this.conn = conn;
} // end constructor
/*--------------------------------------------------------------------------------
* Overrides from class Object
*--------------------------------------------------------------------------------
*/
protected void finalize() throws Throwable
{
if (conn!=null)
this.close();
super.finalize();
} // end finalize
/*--------------------------------------------------------------------------------
* Implementations from interface Connection
*--------------------------------------------------------------------------------
*/
/**
* Creates a <code>Statement</code> object for sending
* SQL statements to the database.
*
* @return a new Statement object
* @exception SQLException if a database access error occurs
*/
public Statement createStatement() throws SQLException
{
return conn.createStatement();
} // end createStatement
/**
* Creates a <code>PreparedStatement</code> object for sending
* parameterized SQL statements to the database.
*
* @param sql a SQL statement that may contain one or more '?' IN parameter placeholders
* @return a new PreparedStatement object containing the pre-compiled statement
* @exception SQLException if a database access error occurs
*/
public PreparedStatement prepareStatement(String sql) throws SQLException
{
return conn.prepareStatement(sql);
} // end prepareStatement
/**
* Creates a <code>CallableStatement</code> object for calling
* database stored procedures.
*
* @param sql a SQL statement that may contain one or more '?' parameter placeholders.
* Typically this statement is a JDBC function call escape string.
* @return a new CallableStatement object containing the pre-compiled SQL statement
* @exception SQLException if a database access error occurs
*/
public CallableStatement prepareCall(String sql) throws SQLException
{
return conn.prepareCall(sql);
} // end prepareCall
/**
* Converts the given SQL statement into the system's native SQL grammar.
*
* @param sql a SQL statement that may contain one or more '?' parameter placeholders
* @return the native form of this statement
* @exception SQLException if a database access error occurs
*/
public String nativeSQL(String sql) throws SQLException
{
return conn.nativeSQL(sql);
} // end nativeSQL
/**
* Sets this connection's auto-commit mode.
*
* @param autoCommit true enables auto-commit; false disables auto-commit.
* @exception SQLException if a database access error occurs
*/
public void setAutoCommit(boolean autoCommit) throws SQLException
{
conn.setAutoCommit(autoCommit);
} // end setAutoCommit
/**
* Gets the current auto-commit state.
*
* @return the current state of auto-commit mode
* @exception SQLException if a database access error occurs
* @see #setAutoCommit
*/
public boolean getAutoCommit() throws SQLException
{
return conn.getAutoCommit();
} // end getAutoCommit
/**
* Makes all changes made since the previous
* commit/rollback permanent and releases any database locks
* currently held by the Connection. This method should be
* used only when auto-commit mode has been disabled.
*
* @exception SQLException if a database access error occurs
* @see #setAutoCommit
*/
public void commit() throws SQLException
{
conn.commit();
} // end commit
/**
* Drops all changes made since the previous
* commit/rollback and releases any database locks currently held
* by this Connection. This method should be used only when auto-
* commit has been disabled.
*
* @exception SQLException if a database access error occurs
* @see #setAutoCommit
*/
public void rollback() throws SQLException
{
conn.rollback();
} // end rollback
/**
* Releases a Connection's database and JDBC resources
* immediately instead of waiting for them to be automatically released.
*
* @exception SQLException if a database access error occurs
*/
public synchronized void close() throws SQLException
{
if (!(conn.getAutoCommit()))
conn.rollback();
datapool.releaseConnection(conn);
conn = null;
} // end close
/**
* Tests to see if a Connection is closed.
*
* @return true if the connection is closed; false if it's still open
* @exception SQLException if a database access error occurs
*/
public boolean isClosed() throws SQLException
{
return (conn==null) ? true : conn.isClosed();
} // end isClosed
/**
* Gets the metadata regarding this connection's database.
*
* @return a DatabaseMetaData object for this Connection
* @exception SQLException if a database access error occurs
*/
public DatabaseMetaData getMetaData() throws SQLException
{
return conn.getMetaData();
} // end getMetaData
/**
* Puts this connection in read-only mode as a hint to enable
* database optimizations.
*
* @param readOnly true enables read-only mode; false disables read-only mode.
* @exception SQLException if a database access error occurs
*/
public void setReadOnly(boolean readOnly)
{ // do nothing
} // end setReadOnly
/**
* Tests to see if the connection is in read-only mode.
*
* @return true if connection is read-only and false otherwise
* @exception SQLException if a database access error occurs
*/
public boolean isReadOnly()
{
return false;
} // end isReadOnly
/**
* Sets a catalog name in order to select
* a subspace of this Connection's database in which to work.
* If the driver does not support catalogs, it will
* silently ignore this request.
*
* @exception SQLException if a database access error occurs
*/
public void setCatalog(String catalog)
{ // do nothing
} // end setCatalog
/**
* Returns the Connection's current catalog name.
*
* @return the current catalog name or null
* @exception SQLException if a database access error occurs
*/
public String getCatalog()
{
return null;
} // end getCatalog
/**
* Attempts to change the transaction
* isolation level to the one given.
* The constants defined in the interface <code>Connection</code>
* are the possible transaction isolation levels.
*
* @param level one of the TRANSACTION_* isolation values with the exception of TRANSACTION_NONE;
* some databases may not support other values
* @exception SQLException if a database access error occurs
* @see DatabaseMetaData#supportsTransactionIsolationLevel
*/
public void setTransactionIsolation(int level)
{ // do nothing
} // end setTransactionIsolation
/**
* Gets this Connection's current transaction isolation level.
*
* @return the current TRANSACTION_* mode value
* @exception SQLException if a database access error occurs
*/
public int getTransactionIsolation() throws SQLException
{
return conn.getTransactionIsolation();
} // end getTransactionIsolation
/**
* Returns the first warning reported by calls on this Connection.
*
* @return the first SQLWarning or null
* @exception SQLException if a database access error occurs
*/
public SQLWarning getWarnings() throws SQLException
{
return conn.getWarnings();
} // end getWarnings
/**
* Clears all warnings reported for this <code>Connection</code> object.
* After a call to this method, the method <code>getWarnings</code>
* returns null until a new warning is reported for this Connection.
*
* @exception SQLException if a database access error occurs
*/
public void clearWarnings() throws SQLException
{
conn.clearWarnings();
} // end clearWarnings
/**
* Creates a <code>Statement</code> object that will generate
* <code>ResultSet</code> objects with the given type and concurrency.
*
* @param resultSetType a result set type; see ResultSet.TYPE_XXX
* @param resultSetConcurrency a concurrency type; see ResultSet.CONCUR_XXX
* @return a new Statement object
* @exception SQLException if a database access error occurs
* @since 1.2
* @see <a href="package-summary.html#2.0 API">What Is in the JDBC 2.0 API</a>
*/
public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
{
return conn.createStatement(resultSetType,resultSetConcurrency);
} // end createStatement
/**
* Creates a <code>PreparedStatement</code> object that will generate
* <code>ResultSet</code> objects with the given type and concurrency.
* This method is the same as the <code>prepareStatement</code> method
* above, but it allows the default result set
* type and result set concurrency type to be overridden.
*
* @param resultSetType a result set type; see ResultSet.TYPE_XXX
* @param resultSetConcurrency a concurrency type; see ResultSet.CONCUR_XXX
* @return a new PreparedStatement object containing the pre-compiled SQL statement
* @exception SQLException if a database access error occurs
* @since 1.2
* @see <a href="package-summary.html#2.0 API">What Is in the JDBC 2.0 API</a>
*/
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
throws SQLException
{
return conn.prepareStatement(sql,resultSetType,resultSetConcurrency);
} // end prepareStatement
/**
* Creates a <code>CallableStatement</code> object that will generate
* <code>ResultSet</code> objects with the given type and concurrency.
* This method is the same as the <code>prepareCall</code> method
* above, but it allows the default result set
* type and result set concurrency type to be overridden.
*
* @param resultSetType a result set type; see ResultSet.TYPE_XXX
* @param resultSetConcurrency a concurrency type; see ResultSet.CONCUR_XXX
* @return a new CallableStatement object containing the pre-compiled SQL statement
* @exception SQLException if a database access error occurs
* @since 1.2
* @see <a href="package-summary.html#2.0 API">What Is in the JDBC 2.0 API</a>
*/
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency)
throws SQLException
{
return conn.prepareCall(sql,resultSetType,resultSetConcurrency);
} // end prepareCall
/**
* Gets the type map object associated with this connection.
* Unless the application has added an entry to the type map,
* the map returned will be empty.
*
* @return the <code>java.util.Map</code> object associated with this <code>Connection</code> object
* @since 1.2
* @see <a href="package-summary.html#2.0 API">What Is in the JDBC 2.0 API</a>
*/
public java.util.Map getTypeMap() throws SQLException
{
return conn.getTypeMap();
} // end getTypeMap
/**
* Installs the given type map as the type map for
* this connection. The type map will be used for the
* custom mapping of SQL structured types and distinct types.
*
* @param the <code>java.util.Map</code> object to install
* as the replacement for this <code>Connection</code>
* object's default type map
* @since 1.2
* @see <a href="package-summary.html#2.0 API">What Is in the JDBC 2.0 API</a>
*/
public void setTypeMap(java.util.Map map) throws SQLException
{
conn.setTypeMap(map);
} // end setTypeMap
/*--------------------------------------------------------------------------------
* Attributes
*--------------------------------------------------------------------------------
*/
Connection getRealConnection()
{
return conn;
} // end getRealConnection
} // end class WrappedConnection

View File

@ -11,25 +11,12 @@
* *
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, * The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. * Copyright (C) 2001-02 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
* *
* Contributor(s): * Contributor(s):
*/ */
package com.silverwrist.venice.svc; package com.silverwrist.venice.svc;
import org.w3c.dom.Element;
import com.silverwrist.venice.core.ServiceToken;
import com.silverwrist.venice.except.ConfigException;
import com.silverwrist.venice.security.Role;
import com.silverwrist.venice.security.SecurityMonitor;
public interface CommService extends Service public interface CommService extends Service
{ {
public abstract void initialize(ServiceToken token, Element root, SecurityMonitor sm, CommServiceSite site)
throws ConfigException;
public abstract String getPermission();
public abstract Role getRole();
} // end interface CommService } // end interface CommService

View File

@ -11,22 +11,21 @@
* *
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, * The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. * Copyright (C) 2001-02 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
* *
* Contributor(s): * Contributor(s):
*/ */
package com.silverwrist.venice.svc; package com.silverwrist.venice.svc;
import com.silverwrist.venice.core.ServiceToken; import com.silverwrist.venice.core.ServiceToken;
import com.silverwrist.venice.security.Role;
public interface Service public interface Service
{ {
public abstract void shutdown();
public abstract ServiceToken getToken(); public abstract ServiceToken getToken();
public abstract boolean isDefault(); public abstract String getPermission();
public abstract boolean isLocked(); public abstract Role getRole();
} // end interface Service } // end interface Service

View File

@ -0,0 +1,30 @@
/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at <http://www.mozilla.org/MPL/>.
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2002 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.svc.internal;
import org.w3c.dom.Element;
import com.silverwrist.venice.core.ServiceToken;
import com.silverwrist.venice.except.ConfigException;
import com.silverwrist.venice.security.SecurityMonitor;
public interface CommServiceInternal extends ServiceInternal
{
public abstract void initialize(ServiceToken token, Element root, SecurityMonitor sm, GlobalSite site)
throws ConfigException;
} // end interface CommServiceInternal

View File

@ -0,0 +1,28 @@
/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at <http://www.mozilla.org/MPL/>.
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2002 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.svc.internal;
import java.sql.Connection;
import java.sql.SQLException;
import com.silverwrist.venice.util.ServiceProvider;
public interface GlobalSite extends ServiceProvider
{
public abstract Connection getConnection(String db_selector) throws SQLException;
} // end interface GlobalSite

View File

@ -11,12 +11,22 @@
* *
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, * The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. * Copyright (C) 2002 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
* *
* Contributor(s): * Contributor(s):
*/ */
package com.silverwrist.venice.svc; package com.silverwrist.venice.svc.internal;
public interface CommServiceSite import com.silverwrist.venice.svc.Service;
public interface ServiceInternal
{ {
} // end interface CommServiceSite public abstract Service getExternal();
public abstract void shutdown();
public abstract boolean isDefault();
public abstract boolean isLocked();
} // end interface ServiceInternal