Package org.astrogrid.samp.web
Class WebHubProfile
- java.lang.Object
-
- org.astrogrid.samp.web.WebHubProfile
-
- All Implemented Interfaces:
ConfigHubProfile
,HubProfile
,ProfileToken
public class WebHubProfile extends java.lang.Object implements HubProfile, ConfigHubProfile
HubProfile implementation for Web Profile.- Since:
- 2 Feb 2011
- Author:
- Mark Taylor, Laurent Bourges
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
WebHubProfile.ConfigEnabler
Runnable to be called on the Event Dispatch Thread which sets the enabledness of the user controls for configuration of this profile.private static class
WebHubProfile.ConfigModel
Helper class to generate toggle button models for hub configuration.static class
WebHubProfile.ServerFactory
Creates and configures the HTTP server on which the Web Profile resides.
-
Field Summary
Fields Modifier and Type Field Description private ClientAuthorizer
auth_
private WebHubProfile.ConfigEnabler
configDisabler_
private WebHubProfile.ConfigEnabler
configEnabler_
private javax.swing.JToggleButton.ToggleButtonModel[]
configModels_
private boolean
controlUrls_
private KeyGenerator
keyGen_
private static java.util.logging.Logger
logger_
private MessageRestriction
mrestrict_
private WebHubProfile.ServerFactory
serverFactory_
private InternalServer
xServer_
-
Constructor Summary
Constructors Constructor Description WebHubProfile()
Constructs a profile with default configuration.WebHubProfile(WebHubProfile.ServerFactory serverFactory, ClientAuthorizer auth, MessageRestriction mrestrict, KeyGenerator keyGen, boolean controlUrls)
Constructs a profile with configuration options.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private javax.swing.JToggleButton.ToggleButtonModel[]
createConfigModels()
Creates and returns some toggle models for configuration.static KeyGenerator
createKeyGenerator()
Convenience method to return a new key generator suitable for use with a WebHubProfile.javax.swing.JToggleButton.ToggleButtonModel[]
getConfigModels()
Returns some toggle button models for hub profile configuration.MessageRestriction
getMessageRestriction()
Returns a MessageRestriction object which controls what messages may be sent by clients registering under ths profile.java.lang.String
getProfileName()
Returns the name of this profile.boolean
isRunning()
Indicates whether this profile is currently running.void
start(ClientProfile profile)
Starts this profile's activity allowing access to a given supplier of hub connections.void
stop()
Ends this profile's activity on behalf of the hub.
-
-
-
Field Detail
-
serverFactory_
private final WebHubProfile.ServerFactory serverFactory_
-
auth_
private final ClientAuthorizer auth_
-
keyGen_
private final KeyGenerator keyGen_
-
configEnabler_
private final WebHubProfile.ConfigEnabler configEnabler_
-
configDisabler_
private final WebHubProfile.ConfigEnabler configDisabler_
-
mrestrict_
private MessageRestriction mrestrict_
-
controlUrls_
private boolean controlUrls_
-
xServer_
private InternalServer xServer_
-
configModels_
private javax.swing.JToggleButton.ToggleButtonModel[] configModels_
-
logger_
private static final java.util.logging.Logger logger_
-
-
Constructor Detail
-
WebHubProfile
public WebHubProfile(WebHubProfile.ServerFactory serverFactory, ClientAuthorizer auth, MessageRestriction mrestrict, KeyGenerator keyGen, boolean controlUrls)
Constructs a profile with configuration options.- Parameters:
serverFactory
- factory for server providing HTTP and XML-RPC implementationauth
- client authorizer implementationmrestrict
- restriction for permitted outward MTypeskeyGen
- key generator for private keyscontrolUrls
- true iff access to local URLs is to be restricted
-
WebHubProfile
public WebHubProfile() throws java.io.IOException
Constructs a profile with default configuration.- Throws:
java.io.IOException
-
-
Method Detail
-
getProfileName
public java.lang.String getProfileName()
Description copied from interface:HubProfile
Returns the name of this profile.- Specified by:
getProfileName
in interfaceHubProfile
- Specified by:
getProfileName
in interfaceProfileToken
- Returns:
- profile name, usually one word
-
getMessageRestriction
public MessageRestriction getMessageRestriction()
Description copied from interface:ProfileToken
Returns a MessageRestriction object which controls what messages may be sent by clients registering under ths profile. If null is returned, any messages may be sent.- Specified by:
getMessageRestriction
in interfaceProfileToken
- Returns:
- message restriction, or null
-
start
public void start(ClientProfile profile) throws java.io.IOException
Description copied from interface:HubProfile
Starts this profile's activity allowing access to a given supplier of hub connections.- Specified by:
start
in interfaceHubProfile
- Parameters:
profile
- object which can provide hub connections- Throws:
java.io.IOException
-
isRunning
public boolean isRunning()
Description copied from interface:HubProfile
Indicates whether this profile is currently running.- Specified by:
isRunning
in interfaceHubProfile
- Returns:
- true iff profile is running
-
stop
public void stop()
Description copied from interface:HubProfile
Ends this profile's activity on behalf of the hub. Any resources associated with the profile should be released. This does not include messaging registered clients about profile termination; that should be taken care of by the user of this profile.- Specified by:
stop
in interfaceHubProfile
-
getConfigModels
public javax.swing.JToggleButton.ToggleButtonModel[] getConfigModels()
Description copied from interface:ConfigHubProfile
Returns some toggle button models for hub profile configuration.- Specified by:
getConfigModels
in interfaceConfigHubProfile
- Returns:
- toggle button model array
-
createConfigModels
private javax.swing.JToggleButton.ToggleButtonModel[] createConfigModels()
Creates and returns some toggle models for configuration. They are only enabled when the profile is not running.
-
createKeyGenerator
public static KeyGenerator createKeyGenerator()
Convenience method to return a new key generator suitable for use with a WebHubProfile.- Returns:
- new key generator for web hub private keys
-
-