com.atlassian.jira.applinks
Class JiraAppLinksHostApplication
java.lang.Object
com.atlassian.applinks.host.spi.AbstractInternalHostApplication
com.atlassian.jira.applinks.JiraAppLinksHostApplication
- All Implemented Interfaces:
- com.atlassian.applinks.host.spi.HostApplication, com.atlassian.applinks.host.spi.InternalHostApplication, Startable
public class JiraAppLinksHostApplication
- extends com.atlassian.applinks.host.spi.AbstractInternalHostApplication
- implements Startable
- Since:
- v4.3
Fields inherited from class com.atlassian.applinks.host.spi.AbstractInternalHostApplication |
pluginAccessor |
Methods inherited from class com.atlassian.applinks.host.spi.AbstractInternalHostApplication |
getSupportedInboundAuthenticationTypes, getSupportedOutboundAuthenticationTypes |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TIMEOUT
public static final long TIMEOUT
- See Also:
- Constant Field Values
JiraAppLinksHostApplication
public JiraAppLinksHostApplication(com.atlassian.plugin.PluginAccessor pluginAccessor,
ApplicationProperties applicationProperties,
JiraLicenseService jiraLicenseService,
VelocityRequestContextFactory velocityRequestContextFactory,
ProjectManager projectManager,
JiraAuthenticationContext jiraAuthenticationContext,
com.atlassian.applinks.host.OsgiServiceProxyFactory osgiServiceProxyFactory,
PermissionManager permissionManager)
- Creates a new JiraAppLinksHostApplication instance.
getDocumentationBaseUrl
public URI getDocumentationBaseUrl()
- Specified by:
getDocumentationBaseUrl
in interface com.atlassian.applinks.host.spi.InternalHostApplication
- Returns:
- an absolute
URI
used as the base for constructing links to help pages. e.g. http://docs.atlassian.com/fisheye/docs-023
or http://confluence.atlassian.com/display/APPLINKS
.
The returned URI
should not have a trailing slash.
getName
public String getName()
- Specified by:
getName
in interface com.atlassian.applinks.host.spi.InternalHostApplication
- Returns:
- the name of this application instance, e.g. "My JIRA Server". If this application type doesn't support
customising the name of the instance, implementations should delegate to
com.atlassian.applinks.host.util.InstanceNameGenerator
to generate a name from the application's base
URL.
getType
public com.atlassian.applinks.api.ApplicationType getType()
- Specified by:
getType
in interface com.atlassian.applinks.host.spi.InternalHostApplication
- Returns:
- the
ApplicationType
for this application instance. Implementations
should delegate to the TypeAccessor
to resolve an instance of the
desired type.
getLocalEntities
public Iterable<com.atlassian.applinks.host.spi.EntityReference> getLocalEntities()
- Specified by:
getLocalEntities
in interface com.atlassian.applinks.host.spi.InternalHostApplication
- Returns:
- an
Iterable
containing an EntityReference
for every
entity in the local instance visible to the currently logged in user. Note, the implementation
must perform a permission check and return only entities visible the context user (who
may be anonymous).
User requires to have either the BROWSE project, JIRA Administrator or PROJECT ADMIN permission.
doesEntityExist
public boolean doesEntityExist(String key,
Class<? extends com.atlassian.applinks.api.EntityType> type)
- Specified by:
doesEntityExist
in interface com.atlassian.applinks.host.spi.InternalHostApplication
- Parameters:
key
- the key of an entity local to this application (e.g. JRA, CONF)type
- the class of the EntityType
of the entity (e.g. JiraProjectEntityType
)
- Returns:
- true, if the specified entity exists, false otherwise. Note, the implementation must perform a
permission check and return true if, and only if, the specified entity exists and is visible to
the context user (who may be anonymous). User requires to have either the BROWSE project, JIRA Administrator or PROJECT ADMIN permission.
toEntityReference
public com.atlassian.applinks.host.spi.EntityReference toEntityReference(Object domainObject)
- Specified by:
toEntityReference
in interface com.atlassian.applinks.host.spi.InternalHostApplication
- Parameters:
domainObject
- an entity domain object from the application's API (e.g. com.atlassian.jira.project.Project,
com.atlassian.confluence.spaces.Space). Implementations are free to choose which objects supported by this class,
but the complete list should be maintained on the EntityLinkService
javadoc.
- Returns:
- an
EntityReference
initialised with the key and type of the
supplied domain object. This method need not perform any permission checking. Implementations should
delegate to the TypeAccessor
to resolve an instance of the
desired EntityType
.
toEntityReference
public com.atlassian.applinks.host.spi.EntityReference toEntityReference(String key,
Class<? extends com.atlassian.applinks.api.EntityType> type)
- Specified by:
toEntityReference
in interface com.atlassian.applinks.host.spi.InternalHostApplication
- Parameters:
key
- the key of a local entity (e.g. "JRA", "FECRUDEV", "CR-BAM")type
- the class of the EntityType
of the entity (e.g. JiraProjectEntityType
)
- Returns:
- an
EntityReference
initialised with the key and type of the
supplied domain object. This method need not perform any permission checking. Implementations should
delegate to the TypeAccessor
to resolve an instance of the
specified EntityType
.
canManageEntityLinksFor
public boolean canManageEntityLinksFor(com.atlassian.applinks.host.spi.EntityReference entityReference)
- Specified by:
canManageEntityLinksFor
in interface com.atlassian.applinks.host.spi.InternalHostApplication
- Parameters:
entityReference
- an EntityReference
representing an entity
contained in the local application instance.
- Returns:
true
if the current user has permission to link or unlink the specified EntityReference
to other entities, false
otherwise.
User requires to have either the BROWSE project, JIRA Administrator or PROJECT ADMIN permission.
setSkipPermissionCheck
public void setSkipPermissionCheck(boolean skip)
clearSkipPermissionCheck
public void clearSkipPermissionCheck()
hasPublicSignup
public boolean hasPublicSignup()
- Specified by:
hasPublicSignup
in interface com.atlassian.applinks.host.spi.InternalHostApplication
- Returns:
true
if the host application allows public signup, false
otherwise.
getId
public com.atlassian.applinks.api.ApplicationId getId()
- Specified by:
getId
in interface com.atlassian.applinks.host.spi.HostApplication
getBaseUrl
public URI getBaseUrl()
- Returns the base URL that is configured for this JIRA instance.
- Specified by:
getBaseUrl
in interface com.atlassian.applinks.host.spi.HostApplication
- Returns:
- a String containing the base URL that is configured for this JIRA instance
start
public void start()
throws Exception
- The OsgiServiceProxyFactory creates a proxy to the TypeAccessor which is a component of the applinks-plugin. The
TypeAccessor is not available when the host application starts, but when the plugins framework has finished
starting.
- Specified by:
start
in interface Startable
- Throws:
Exception
- Allows implementations to throw an Exception.
Copyright © 2002-2011 Atlassian. All Rights Reserved.