minor updates to AdminOptions, removed getSelf() from EngineBackend
This commit is contained in:
		
							parent
							
								
									39944e49cd
								
							
						
					
					
						commit
						9a7d507e13
					
				@ -26,6 +26,7 @@ import com.silverwrist.venice.db.*;
 | 
			
		||||
import com.silverwrist.venice.except.*;
 | 
			
		||||
import com.silverwrist.venice.security.AuditRecord;
 | 
			
		||||
import com.silverwrist.venice.security.Role;
 | 
			
		||||
import com.silverwrist.venice.svc.internal.GlobalSite;
 | 
			
		||||
 | 
			
		||||
class AdminOperationsImpl implements AdminOperations
 | 
			
		||||
{
 | 
			
		||||
@ -41,6 +42,7 @@ class AdminOperationsImpl implements AdminOperations
 | 
			
		||||
   *--------------------------------------------------------------------------------
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
  private GlobalSite globalsite;           // global site
 | 
			
		||||
  private EnvUser env;                     // the execution environment
 | 
			
		||||
 | 
			
		||||
  /*--------------------------------------------------------------------------------
 | 
			
		||||
@ -48,8 +50,9 @@ class AdminOperationsImpl implements AdminOperations
 | 
			
		||||
   *--------------------------------------------------------------------------------
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
  AdminOperationsImpl(EnvUser env)
 | 
			
		||||
  AdminOperationsImpl(GlobalSite globalsite, EnvUser env)
 | 
			
		||||
  {
 | 
			
		||||
    this.globalsite = globalsite;
 | 
			
		||||
    this.env = env;
 | 
			
		||||
 | 
			
		||||
  } // end constructor
 | 
			
		||||
@ -61,7 +64,8 @@ class AdminOperationsImpl implements AdminOperations
 | 
			
		||||
 | 
			
		||||
  public SecurityInfo getSecurityInfo()
 | 
			
		||||
  {
 | 
			
		||||
    return env.getEngine().getSelf().getSecurityInfo();
 | 
			
		||||
    VeniceEngine engine = (VeniceEngine)(globalsite.queryService(VeniceEngine.class));
 | 
			
		||||
    return engine.getSecurityInfo();
 | 
			
		||||
 | 
			
		||||
  } // end getSecurityInfo
 | 
			
		||||
 | 
			
		||||
@ -81,7 +85,7 @@ class AdminOperationsImpl implements AdminOperations
 | 
			
		||||
 | 
			
		||||
    try
 | 
			
		||||
    { // retrieve a connection from the data pool and get the audit records
 | 
			
		||||
      conn = env.getConnection();
 | 
			
		||||
      conn = globalsite.getConnection(null);
 | 
			
		||||
      rc = AuditRecord.getAuditRecords(conn,-1,offset,count);
 | 
			
		||||
 | 
			
		||||
    } // end try
 | 
			
		||||
@ -108,7 +112,7 @@ class AdminOperationsImpl implements AdminOperations
 | 
			
		||||
 | 
			
		||||
    try
 | 
			
		||||
    { // retrieve a connection from the data pool and get the audit records
 | 
			
		||||
      conn = env.getConnection();
 | 
			
		||||
      conn = globalsite.getConnection(null);
 | 
			
		||||
      rc = AuditRecord.getAuditRecordCount(conn,-1);
 | 
			
		||||
 | 
			
		||||
    } // end try
 | 
			
		||||
@ -181,7 +185,7 @@ class AdminOperationsImpl implements AdminOperations
 | 
			
		||||
 | 
			
		||||
    if (auto_join)
 | 
			
		||||
    { // Need to create a normal user context here for just a minute to autojoin the communities.
 | 
			
		||||
      UserContextImpl rc = new UserContextImpl(env.getGlobalSite(),env);
 | 
			
		||||
      UserContextImpl rc = new UserContextImpl(globalsite,env);
 | 
			
		||||
      rc.loadNewUser("0.0.0.0",rnu.getUserID(),base_role.getLevel(),username,0,rnu.getCreationDate(),
 | 
			
		||||
		     rnu.getCreationDate());
 | 
			
		||||
      rc.autoJoinCommunities();
 | 
			
		||||
 | 
			
		||||
@ -1130,7 +1130,7 @@ class UserContextImpl implements UserContext, ServiceProvider, PropertyProvider
 | 
			
		||||
  public AdminOperations getAdminInterface() throws AccessError
 | 
			
		||||
  {
 | 
			
		||||
    env.testPermission(EnvUser.PERM_SYSADMINACCESS,"You are not permitted to administer the server.");
 | 
			
		||||
    return new AdminOperationsImpl(env);
 | 
			
		||||
    return new AdminOperationsImpl(globalsite,env);
 | 
			
		||||
 | 
			
		||||
  } // end getAdminInterface
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -33,9 +33,10 @@ import com.silverwrist.venice.security.*;
 | 
			
		||||
import com.silverwrist.venice.svc.*;
 | 
			
		||||
import com.silverwrist.venice.svc.internal.GlobalSite;
 | 
			
		||||
import com.silverwrist.venice.util.MailSend;
 | 
			
		||||
import com.silverwrist.venice.util.ServiceProvider;
 | 
			
		||||
import com.silverwrist.venice.util.XMLLoader;
 | 
			
		||||
 | 
			
		||||
public class VeniceEngineImpl implements VeniceEngine, EngineBackend
 | 
			
		||||
public class VeniceEngineImpl implements VeniceEngine, ServiceProvider, EngineBackend
 | 
			
		||||
{
 | 
			
		||||
  /*--------------------------------------------------------------------------------
 | 
			
		||||
   * Internal class storing side box information.
 | 
			
		||||
@ -527,7 +528,7 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
 | 
			
		||||
	services_config = app_root + services_config;
 | 
			
		||||
 | 
			
		||||
      // Create the global site.
 | 
			
		||||
      globalsite = new GlobalSiteImpl(this,root,app_root);
 | 
			
		||||
      globalsite = new GlobalSiteImpl(this,this,root,app_root);
 | 
			
		||||
 | 
			
		||||
      // Get the <upload/> section.
 | 
			
		||||
      sect = loader.configGetSubSection(root_h,"upload");
 | 
			
		||||
@ -1337,15 +1338,53 @@ public class VeniceEngineImpl implements VeniceEngine, EngineBackend
 | 
			
		||||
  } // end useCategories
 | 
			
		||||
 | 
			
		||||
  /*--------------------------------------------------------------------------------
 | 
			
		||||
   * Implementations from interface EngineBackend
 | 
			
		||||
   * Implementations from interface ServiceProvider
 | 
			
		||||
   *--------------------------------------------------------------------------------
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
  public VeniceEngine getSelf()
 | 
			
		||||
  /**
 | 
			
		||||
   * Queries this object for a specified service.
 | 
			
		||||
   *
 | 
			
		||||
   * @param klass The class of the object that should be returned as a service.
 | 
			
		||||
   * @return A service object.  The service object is guaranteed to be of the class
 | 
			
		||||
   *         specified by <CODE>klass</CODE>; that is, if <CODE>queryService(klass)</CODE>
 | 
			
		||||
   *         yields some object <CODE>x</CODE>, then the expression <CODE>klass.isInstance(x)</CODE>
 | 
			
		||||
   *         is true.
 | 
			
		||||
   * @exception com.silverwrist.venice.except.NoSuchServiceException If no service is available in
 | 
			
		||||
   *            the specified class.
 | 
			
		||||
   */
 | 
			
		||||
  public Object queryService(Class klass)
 | 
			
		||||
  {
 | 
			
		||||
    return this;
 | 
			
		||||
    if (klass==VeniceEngine.class)
 | 
			
		||||
      return ((VeniceEngine)this);
 | 
			
		||||
    if (klass==EngineBackend.class)
 | 
			
		||||
      return ((EngineBackend)this);
 | 
			
		||||
    throw new NoSuchServiceException("VeniceEngine",klass);
 | 
			
		||||
 | 
			
		||||
  } // end getSelf
 | 
			
		||||
  } // end queryService
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Queries this object for a specified service.
 | 
			
		||||
   *
 | 
			
		||||
   * @param klass The class of the object that should be returned as a service.
 | 
			
		||||
   * @param serviceid ID for the service to be requested, to further discriminate between requests.
 | 
			
		||||
   * @return A service object.  The service object is guaranteed to be of the class
 | 
			
		||||
   *         specified by <CODE>klass</CODE>; that is, if <CODE>queryService(klass)</CODE>
 | 
			
		||||
   *         yields some object <CODE>x</CODE>, then the expression <CODE>klass.isInstance(x)</CODE>
 | 
			
		||||
   *         is true.
 | 
			
		||||
   * @exception com.silverwrist.venice.except.NoSuchServiceException If no service is available in
 | 
			
		||||
   *            the specified class.
 | 
			
		||||
   */
 | 
			
		||||
  public Object queryService(Class klass, String serviceid)
 | 
			
		||||
  {
 | 
			
		||||
    return queryService(klass);  // defer to no service ID
 | 
			
		||||
 | 
			
		||||
  } // end queryService
 | 
			
		||||
 | 
			
		||||
  /*--------------------------------------------------------------------------------
 | 
			
		||||
   * Implementations from interface EngineBackend
 | 
			
		||||
   *--------------------------------------------------------------------------------
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
  public CommunityData getCommunityDataObject(int cid) throws DataException
 | 
			
		||||
  {
 | 
			
		||||
 | 
			
		||||
@ -46,8 +46,6 @@ public interface EngineBackend
 | 
			
		||||
  // role parameter indexes
 | 
			
		||||
  public static final int ROLEP_CREATECOMMUNITY = 0;
 | 
			
		||||
 | 
			
		||||
  public abstract VeniceEngine getSelf();
 | 
			
		||||
 | 
			
		||||
  public abstract CommunityData getCommunityDataObject(int cid) throws DataException;
 | 
			
		||||
 | 
			
		||||
  public abstract void detachCommunityDataObject(int cid);
 | 
			
		||||
 | 
			
		||||
@ -22,6 +22,7 @@ import java.util.*;
 | 
			
		||||
import org.apache.log4j.*;
 | 
			
		||||
import org.w3c.dom.*;
 | 
			
		||||
import com.silverwrist.util.*;
 | 
			
		||||
import com.silverwrist.venice.core.VeniceEngine;
 | 
			
		||||
import com.silverwrist.venice.db.*;
 | 
			
		||||
import com.silverwrist.venice.except.*;
 | 
			
		||||
import com.silverwrist.venice.htmlcheck.*;
 | 
			
		||||
@ -48,7 +49,7 @@ public class GlobalSiteImpl implements GlobalSite
 | 
			
		||||
   *--------------------------------------------------------------------------------
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
  private EngineBackend engine = null;             // the engine back end
 | 
			
		||||
  private ServiceProvider engine_svc = null;       // ServiceProvider for the VeniceEngine
 | 
			
		||||
  private DataPool datapool = null;                // the database pool
 | 
			
		||||
  private Properties email_props = null;           // email properties
 | 
			
		||||
  private javax.mail.Session mailsession = null;   // email session object
 | 
			
		||||
@ -61,9 +62,10 @@ public class GlobalSiteImpl implements GlobalSite
 | 
			
		||||
   *--------------------------------------------------------------------------------
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
  public GlobalSiteImpl(EngineBackend engine, Element config, String application_root) throws ConfigException
 | 
			
		||||
  public GlobalSiteImpl(ServiceProvider engine_svc, Element config, String application_root)
 | 
			
		||||
      throws ConfigException
 | 
			
		||||
  {
 | 
			
		||||
    this.engine = engine;
 | 
			
		||||
    this.engine_svc = engine_svc;
 | 
			
		||||
    XMLLoader loader = XMLLoader.get();
 | 
			
		||||
 | 
			
		||||
    // Get the <database/> section.
 | 
			
		||||
@ -387,6 +389,8 @@ public class GlobalSiteImpl implements GlobalSite
 | 
			
		||||
      return sm_env;
 | 
			
		||||
    if (klass==SecurityMonitor.class)
 | 
			
		||||
      return sm_env.getMonitor("Global");
 | 
			
		||||
    if (klass==VeniceEngine.class)
 | 
			
		||||
      return engine_svc.queryService(klass);
 | 
			
		||||
    throw new NoSuchServiceException("GlobalSite",klass);
 | 
			
		||||
 | 
			
		||||
  } // end queryService
 | 
			
		||||
@ -435,7 +439,7 @@ public class GlobalSiteImpl implements GlobalSite
 | 
			
		||||
 | 
			
		||||
    } // end if
 | 
			
		||||
 | 
			
		||||
    return this.queryService(klass);
 | 
			
		||||
    return queryService(klass);
 | 
			
		||||
 | 
			
		||||
  } // end queryService
 | 
			
		||||
 | 
			
		||||
@ -464,7 +468,7 @@ public class GlobalSiteImpl implements GlobalSite
 | 
			
		||||
 | 
			
		||||
  public void shutdown()
 | 
			
		||||
  {
 | 
			
		||||
    engine = null;
 | 
			
		||||
    engine_svc = null;
 | 
			
		||||
    if (datapool!=null)
 | 
			
		||||
      datapool.closeAllConnections();
 | 
			
		||||
    datapool = null;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user