Tobias Jeger pushed to branch feature/delete-channel-HSTTWO-3733 at
cms-community / hippo-site-toolkit
Commits:
49af74ef by Tobias Jeger at 2016-08-15T14:14:32+02:00
HSTTWO-3733 Refactoring + comments after code review
- - - - -
3 changed files:
-
client-modules/page-composer/src/main/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ChannelServiceImpl.java
-
client-modules/page-composer/src/test/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ChannelServiceImplTest.java
-
client-modules/page-composer/src/test/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ExtendedMockSession.java
Changes:
=
client-modules/page-composer/src/main/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ChannelServiceImpl.java
=
---
a/client-modules/page-composer/src/main/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ChannelServiceImpl.java
+++
b/client-modules/page-composer/src/main/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ChannelServiceImpl.java
@@ -214,16 +214,23 @@ public class ChannelServiceImpl implements ChannelService
{
final Channel channel = getChannel(channelId);
+removeConfigurationNodes(session, channel);
+removeSiteNode(session, channel);
+removeChannelNodes(session, channel.getChannelPath());
+removeMountNodes(session, channel);
+}
+
+private void removeConfigurationNodes(final Session session, final Channel
channel) throws RepositoryException {
final String hstConfigPath = channel.getHstConfigPath();
try {
hstConfigurationService.delete(session, hstConfigPath);
} catch (HstConfigurationException e) {
log.warn("Cannot delete configuration node '{}': {}",
hstConfigPath, e.getMessage());
}
+}
-removeHstConfigNodes(session, channel.getHstMountPoint());
-removeHstConfigNodes(session, channel.getChannelPath());
-removeMountNodes(session, channel);
+private void removeSiteNode(final Session session, final Channel channel)
throws RepositoryException {
+session.removeItem(channel.getHstMountPoint());
}
private void removeMountNodes(final Session session, final Channel
channel) throws RepositoryException {
@@ -277,7 +284,7 @@ public class ChannelServiceImpl implements ChannelService {
* @param nodePath
* @throws RepositoryException
*/
-private void removeHstConfigNodes(Session session, String nodePath) throws
RepositoryException {
+private void removeChannelNodes(Session session, String nodePath) throws
RepositoryException {
session.removeItem(nodePath);
final String previewNodePath = nodePath + "-preview";
if (session.nodeExists(previewNodePath)) {
=
client-modules/page-composer/src/test/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ChannelServiceImplTest.java
=
---
a/client-modules/page-composer/src/test/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ChannelServiceImplTest.java
+++
b/client-modules/page-composer/src/test/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ChannelServiceImplTest.java
@@ -133,6 +133,9 @@ public class ChannelServiceImplTest {
assertThat(session.itemExists("/hst:hst/hst:hosts/group2"), is(true));
}
+// TODO add a test for the Channel Service's handling of the
hstConfigurationService#delete() call to
+// throw an exception? (caught and uncaught)
+
private static VirtualHosts mockVirtualHosts() {
final MockHstRequestContext requestContext = new
MockHstRequestContext();
final VirtualHost mockVirtualHost =
EasyMock.createMock(VirtualHost.class);
=
client-modules/page-composer/src/test/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ExtendedMockSession.java
=
---
a/client-modules/page-composer/src/test/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ExtendedMockSession.java
+++
b/client-modules/page-composer/src/test/java/org/hippoecm/hst/pagecomposer/jaxrs/services/ExtendedMockSession.java
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+// TODO should be removed after fixing REPO-1551.
+
package org.hippoecm.hst.pagecomposer.jaxrs.services;
import javax.jcr.RepositoryException;
View it on GitLab:
https://code.onehippo.org/cms-community/hippo-site-toolkit/commit/49af74ef4951dedc0abdb91f2a9e6a4b989f502d
___
Hippocms-svn mailing list
Hippocms-svn@lists.onehippo.org
https://lists.onehippo.org/mailman/listinfo/hippocms-svn