Skip to content

Commit

Permalink
MGR-121 MGR-122
Browse files Browse the repository at this point in the history
  • Loading branch information
madness-inc committed Aug 19, 2021
1 parent e0573a5 commit 0d59975
Show file tree
Hide file tree
Showing 11 changed files with 104 additions and 13 deletions.
9 changes: 9 additions & 0 deletions application-home/conf/datasources/ds-sites.xml
Expand Up @@ -92,6 +92,15 @@
<label>reload</label>
<icon>reload</icon>
<condition expression="${current.active}" />
<confirmation id="site.reload.confirm" params="#{name}" />
<permissions>
<permission ref="site.reload" mode="set" />
</permissions>
</link>
<link mode="intern" target="/sites&#63;act=reloadTemplate&#38;siteid=${current.id}" show-disabled="true">
<label>reload.template</label>
<icon>reload</icon>
<condition expression="${current.active}" />
<permissions>
<permission ref="site.reload" mode="set" />
</permissions>
Expand Down
18 changes: 18 additions & 0 deletions application-home/conf/events/ev-sites.xml
Expand Up @@ -79,6 +79,24 @@
</bean>
</action>

<action id="reloadTemplate">
<config>
<title>site.reload</title>
<permissions>
<permission ref="site.reload" mode="set" />
</permissions>
<params>
<param name="form_action" />
<param name="siteid" />
</params>
</config>
<condition expression="${form_action eq 'reloadTemplate'}" />
<bean id="sites">
<option name="site" id="${siteid}" />
<option name="action" id="reloadTemplate" />
</bean>
</action>

<action id="start">
<config>
<title>site.start</title>
Expand Down
8 changes: 8 additions & 0 deletions application-home/conf/pages/pg-sites.xml
Expand Up @@ -373,6 +373,14 @@
</params>
</action>
</element>
<element>
<action id="reloadTemplate" eventId="siteEvent" onSuccess="/sites" forceForward="true">
<params>
<param name="form_action">${act}</param>
<param name="siteid">${siteid}</param>
</params>
</action>
</element>
<element>
<action id="toggle-applicationstate" onSuccess="/sites/update/${siteid}#tab_site-applications"
eventId="applicationEvent" forceForward="false">
Expand Down
3 changes: 3 additions & 0 deletions application-home/dictionary/manager-messages.properties
Expand Up @@ -238,6 +238,7 @@ property.updated=Property has been updated.
published=Published
realname=Real name
reload=Reload
reload.template=Reload Template
reloadPlatform=Reload the platform to apply the changes!
reloadRequired=Requires reload
reloadSite=Reload the affected site(s) to apply the changes!
Expand Down Expand Up @@ -341,6 +342,7 @@ site.name.exists=A different site with this name already exists!
site.not.exists=Site does not exist.
site.properties=Site properties
site.reload=Reload site
site.reload.confirm=Reload site {0}?
site.reloaded=Site has been reloaded.
site.reloaded.error=Failed to reload the site.
site.select=Select site
Expand All @@ -353,6 +355,7 @@ site.stop.isCurrent=Can not stop the current site {0}!
site.stop.notRunning=Site {0} is not running and can not be stopped!
site.stop.notStarted=Site {0} is in state {1} and can not be stopped!
site.stopped=Stopped site {0}.
site.templateReloaded=Successfully reloaded template.
site.update.error=Failed to update the site.
site.updated=Site has been updated.
site=Site
Expand Down
Expand Up @@ -23,9 +23,11 @@
import org.appng.api.FieldProcessor;
import org.appng.api.InvalidConfigurationException;
import org.appng.api.Options;
import org.appng.api.Platform;
import org.appng.api.Request;
import org.appng.api.Scope;
import org.appng.api.model.Application;
import org.appng.api.model.Properties;
import org.appng.api.model.Site;
import org.appng.application.manager.MessageConstants;
import org.appng.application.manager.form.SiteForm;
Expand Down Expand Up @@ -82,6 +84,11 @@ public void perform(Site site, Application application, Environment environment,
errorMessage = MessageConstants.SITE_RELOADED_ERROR;
service.reloadSite(request, application, siteId, fp);
okMessage = MessageConstants.SITE_RELOADED;
} else if (ACTION_RELOAD_TEMPLATE.equals(action)) {
Properties platformProps = environment.getAttribute(Scope.PLATFORM,
Platform.Environment.PLATFORM_CONFIG);
service.reloadTemplate(siteId, platformProps);
okMessage = MessageConstants.SITE_TEMPLATE_RELOADED;
} else if (ACTION_RELOAD_PLATFORM.equals(action)) {
errorMessage = MessageConstants.PLATFORM_RELOAD_ERROR;
reloadPlatform(site, application, request, fp);
Expand Down
Expand Up @@ -63,6 +63,7 @@
import org.appng.api.model.NameProvider;
import org.appng.api.model.Nameable;
import org.appng.api.model.Permission;
import org.appng.api.model.Properties;
import org.appng.api.model.Property;
import org.appng.api.model.Resource;
import org.appng.api.model.ResourceType;
Expand Down Expand Up @@ -112,6 +113,7 @@
import org.appng.core.model.RepositoryUtils;
import org.appng.core.service.CoreService;
import org.appng.core.service.InitializerService;
import org.appng.core.service.PlatformProperties;
import org.appng.core.service.MigrationService.MigrationStatus;
import org.appng.core.service.PropertySupport;
import org.appng.core.xml.repository.PackageVersions;
Expand Down Expand Up @@ -1485,8 +1487,8 @@ public DataContainer searchPermissions(FieldProcessor fp, Integer permissionId,
return data;
}

public DataContainer searchProperties(FieldProcessor fp, String nodeId, Integer siteId, Integer appId, String propertyName)
throws BusinessException {
public DataContainer searchProperties(FieldProcessor fp, String nodeId, Integer siteId, Integer appId,
String propertyName) throws BusinessException {
DataContainer data = new DataContainer(fp);
if (propertyName != null && propertyName.length() > 0) {
PropertyImpl property = propertyRepository.findOne(propertyName);
Expand Down Expand Up @@ -1828,6 +1830,13 @@ public void resetConnection(Integer conId) {
resetConnection(null, conId);
}

@Override
public void reloadTemplate(Integer siteId, Properties platformConfig) {
SiteImpl site = siteRepository.findOne(siteId);
initSiteProperties(site);
refreshTemplate(site, PlatformProperties.get(platformConfig));
}

public SiteApplication getSiteApplication(Integer siteId, Integer appId) {
SiteApplication siteApplication = siteApplicationRepository.findOne(new SiteApplicationPK(siteId, appId));
siteApplication.getGrantedSites().size();
Expand Down
Expand Up @@ -30,6 +30,7 @@
import org.appng.api.model.Application;
import org.appng.api.model.Identifier;
import org.appng.api.model.Permission;
import org.appng.api.model.Properties;
import org.appng.api.model.ResourceType;
import org.appng.api.model.Site;
import org.appng.api.model.Subject;
Expand Down Expand Up @@ -246,4 +247,6 @@ void createDatabaseConnection(Request request, FieldProcessor fp, DatabaseConnec

void createEvent(Type type, String message);

void reloadTemplate(Integer siteId, Properties platformProps);

}
Expand Up @@ -24,7 +24,6 @@
* Abstract baseclass used by the application's {@link ActionProvider}s and {@link DataProvider}s.
*
* @author Matthias Müller
*
*/
public abstract class ServiceAware {

Expand All @@ -36,6 +35,7 @@ public abstract class ServiceAware {
protected static final String ACTION_UPDATE = "update";
protected static final String ACTION_CREATE = "create";
protected static final String ACTION_ASSIGN = "assign";
protected static final String ACTION_RELOAD_TEMPLATE = "reloadTemplate";
protected static final String ACTION_RELOAD = "reload";
protected static final String ACTION_RELOAD_PLATFORM = "reloadPlatform";
protected static final String ACTION_ASSIGN_PERMISSIONS = "assignPermissions";
Expand Down
Expand Up @@ -26,27 +26,32 @@
import org.appng.application.manager.form.SiteForm;
import org.appng.core.domain.PropertyImpl;
import org.appng.core.domain.SiteImpl;
import org.appng.testsupport.validation.WritingXmlValidator;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class SitesTest extends AbstractTest {

static {
WritingXmlValidator.writeXml = false;
}

private static final String SITE_EVENT = "siteEvent";

@Test
public void testCreateSite() throws Exception {
propertyRepository.save(new PropertyImpl("platform." + Platform.Property.MESSAGING_ENABLED, null, "false"));

SiteImpl siteToCreate = new SiteImpl();
SiteForm siteForm = new SiteForm(siteToCreate);
siteToCreate.setName("localhost");
siteToCreate.setHost("localhost");
siteToCreate.setDomain("localhost");
siteToCreate.setActive(true);

//prepares using appNG >= 1.19.1
// prepares using appNG >= 1.19.1
PropertyForm form = new PropertyForm();
form.getProperty().setName(Platform.Property.MESSAGING_ENABLED);
form.getProperty().setDefaultString(Boolean.FALSE.toString());
Expand Down
25 changes: 21 additions & 4 deletions src/test/resources/xml/SitesTest-testShowSites.xml
Expand Up @@ -84,14 +84,22 @@
<icon>delete</icon>
<confirmation id="site.delete.confirm" params="#{name}">Do you really want to delete the site "#{name}"?</confirmation>
</link>
<link id="actions[5]" mode="intern" target="/sites?act=reload&amp;siteid=${current.id}"
show-disabled="true">
<link id="actions[5]" mode="intern" target="/sites?act=reload&amp;siteid=${current.id}" show-disabled="true">
<condition expression="${current.active}" />
<permissions>
<permission ref="site.reload" mode="set"></permission>
</permissions>
<label id="reload">Reload</label>
<icon>reload</icon>
<confirmation id="site.reload.confirm" params="#{name}">Reload site #{name}?</confirmation>
</link>
<link id="actions[6]" mode="intern" target="/sites?act=reloadTemplate&amp;siteid=${current.id}" show-disabled="true">
<condition expression="${current.active}" />
<permissions>
<permission ref="site.reload" mode="set"></permission>
</permissions>
<label id="reload.template">Reload Template</label>
<icon>reload</icon>
</link>
</linkpanel>
</config>
Expand All @@ -106,8 +114,7 @@
<option value="" name="f_sd" />
</selection>
</selectionGroup>
<resultset chunk="0" chunkname="sites" chunksize="10" nextchunk="0" previouschunk="0" firstchunk="0"
lastchunk="0" hits="2">
<resultset chunk="0" chunkname="sites" chunksize="10" nextchunk="0" previouschunk="0" firstchunk="0" lastchunk="0" hits="2">
<result>
<field name="name" type="text">
<value>localhost</value>
Expand Down Expand Up @@ -145,6 +152,11 @@
<link id="actions[5]" mode="intern" target="/sites?act=reload&amp;siteid=1">
<label id="reload">Reload</label>
<icon>reload</icon>
<confirmation id="site.reload.confirm" params="#{name}">Reload site localhost?</confirmation>
</link>
<link id="actions[6]" mode="intern" target="/sites?act=reloadTemplate&amp;siteid=1">
<label id="reload.template">Reload Template</label>
<icon>reload</icon>
</link>
</linkpanel>
</result>
Expand Down Expand Up @@ -189,6 +201,11 @@
<link id="actions[5]" mode="intern" target="/sites?act=reload&amp;siteid=3">
<label id="reload">Reload</label>
<icon>reload</icon>
<confirmation id="site.reload.confirm" params="#{name}">Reload site site2?</confirmation>
</link>
<link id="actions[6]" mode="intern" target="/sites?act=reloadTemplate&amp;siteid=3">
<label id="reload.template">Reload Template</label>
<icon>reload</icon>
</link>
</linkpanel>
</result>
Expand Down
20 changes: 16 additions & 4 deletions src/test/resources/xml/SitesTest-testShowSitesFiltered.xml
Expand Up @@ -84,14 +84,22 @@
<icon>delete</icon>
<confirmation id="site.delete.confirm" params="#{name}">Do you really want to delete the site "#{name}"?</confirmation>
</link>
<link id="actions[5]" mode="intern" target="/sites?act=reload&amp;siteid=${current.id}"
show-disabled="true">
<link id="actions[5]" mode="intern" target="/sites?act=reload&amp;siteid=${current.id}" show-disabled="true">
<condition expression="${current.active}" />
<permissions>
<permission ref="site.reload" mode="set"></permission>
</permissions>
<label id="reload">Reload</label>
<icon>reload</icon>
<confirmation id="site.reload.confirm" params="#{name}">Reload site #{name}?</confirmation>
</link>
<link id="actions[6]" mode="intern" target="/sites?act=reloadTemplate&amp;siteid=${current.id}" show-disabled="true">
<condition expression="${current.active}" />
<permissions>
<permission ref="site.reload" mode="set"></permission>
</permissions>
<label id="reload.template">Reload Template</label>
<icon>reload</icon>
</link>
</linkpanel>
</config>
Expand All @@ -106,8 +114,7 @@
<option value="example" name="f_sd" />
</selection>
</selectionGroup>
<resultset chunk="0" chunkname="sites" chunksize="10" nextchunk="0" previouschunk="0" firstchunk="0"
lastchunk="0" hits="1">
<resultset chunk="0" chunkname="sites" chunksize="10" nextchunk="0" previouschunk="0" firstchunk="0" lastchunk="0" hits="1">
<result>
<field name="name" type="text">
<value>site2</value>
Expand Down Expand Up @@ -149,6 +156,11 @@
<link id="actions[5]" mode="intern" target="/sites?act=reload&amp;siteid=3">
<label id="reload">Reload</label>
<icon>reload</icon>
<confirmation id="site.reload.confirm" params="#{name}">Reload site site2?</confirmation>
</link>
<link id="actions[6]" mode="intern" target="/sites?act=reloadTemplate&amp;siteid=3">
<label id="reload.template">Reload Template</label>
<icon>reload</icon>
</link>
</linkpanel>
</result>
Expand Down

0 comments on commit 0d59975

Please sign in to comment.