Loading enterprise-module/src/main/java/com/inteligr8/alfresco/asie/enterprise/rest/UnloadNodeShardWebScript.java +14 −2 Original line number Diff line number Diff line package com.inteligr8.alfresco.asie.enterprise.rest; import org.alfresco.repo.index.shard.ShardState; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.extensions.webscripts.WebScriptException; import org.springframework.extensions.webscripts.WebScriptRequest; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; import com.inteligr8.alfresco.asie.model.ShardSet; import com.inteligr8.alfresco.asie.rest.model.NodeShardParameterSet; import com.inteligr8.alfresco.asie.spi.ShardDiscoveryService; @Component(value = "webscript.com.inteligr8.alfresco.asie.nodeShard.delete") public class UnloadNodeShardWebScript extends AbstractUnregisterNodeWebScript<NodeShardParameterSet> { @Autowired private ShardDiscoveryService sds; @Override protected NodeShardParameterSet createParameters(WebScriptRequest req, String nodeHostname, int nodePort) { ShardSet shardSet = this.getRequiredPathParameter(req, "shardSet", ShardSet.class); String coreName = this.getRequiredPathParameter(req, "shardCore"); int shardId = this.getRequiredPathParameter(req, "shardId", Integer.class); try { ShardSet shardSet = this.sds.findSetByCore(coreName); return new NodeShardParameterSet(nodeHostname, nodePort, shardSet, shardId); } catch (IllegalArgumentException iae) { throw new WebScriptException(HttpStatus.BAD_REQUEST.value(), iae.getMessage()); } } @Override Loading shared/src/main/java/com/inteligr8/alfresco/asie/rest/AbstractAsieNodeShardWebScript.java +3 −5 Original line number Diff line number Diff line Loading @@ -7,8 +7,6 @@ import org.slf4j.LoggerFactory; import org.springframework.extensions.webscripts.WebScriptRequest; import org.springframework.extensions.webscripts.WebScriptResponse; import com.inteligr8.alfresco.asie.model.ShardSet; public abstract class AbstractAsieNodeShardWebScript extends AbstractAsieShardableWebScript { private final Logger logger = LoggerFactory.getLogger(this.getClass()); Loading @@ -22,14 +20,14 @@ public abstract class AbstractAsieNodeShardWebScript extends AbstractAsieShardab String nodeHostname = colon < 0 ? nodeEndpoint : nodeEndpoint.substring(0, colon); int nodePort = colon < 0 ? this.getApiService().getDefaultSolrPort() : Integer.parseInt(nodeEndpoint.substring(colon+1)); ShardSet shardSet = this.getRequiredPathParameter(req, "shardSet", ShardSet.class); String shardCore = this.getRequiredPathParameter(req, "shardCore", String.class); int shardId = this.getRequiredPathParameter(req, "shardId", Integer.class); this.execute(req, res, nodeHostname, nodePort, shardSet, shardId); this.execute(req, res, nodeHostname, nodePort, shardCore, shardId); } protected abstract void execute(WebScriptRequest req, WebScriptResponse res, String nodeHostname, int nodePort, ShardSet shardSet, int shardId) String nodeHostname, int nodePort, String shardCore, int shardId) throws IOException; } Loading
enterprise-module/src/main/java/com/inteligr8/alfresco/asie/enterprise/rest/UnloadNodeShardWebScript.java +14 −2 Original line number Diff line number Diff line package com.inteligr8.alfresco.asie.enterprise.rest; import org.alfresco.repo.index.shard.ShardState; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.extensions.webscripts.WebScriptException; import org.springframework.extensions.webscripts.WebScriptRequest; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; import com.inteligr8.alfresco.asie.model.ShardSet; import com.inteligr8.alfresco.asie.rest.model.NodeShardParameterSet; import com.inteligr8.alfresco.asie.spi.ShardDiscoveryService; @Component(value = "webscript.com.inteligr8.alfresco.asie.nodeShard.delete") public class UnloadNodeShardWebScript extends AbstractUnregisterNodeWebScript<NodeShardParameterSet> { @Autowired private ShardDiscoveryService sds; @Override protected NodeShardParameterSet createParameters(WebScriptRequest req, String nodeHostname, int nodePort) { ShardSet shardSet = this.getRequiredPathParameter(req, "shardSet", ShardSet.class); String coreName = this.getRequiredPathParameter(req, "shardCore"); int shardId = this.getRequiredPathParameter(req, "shardId", Integer.class); try { ShardSet shardSet = this.sds.findSetByCore(coreName); return new NodeShardParameterSet(nodeHostname, nodePort, shardSet, shardId); } catch (IllegalArgumentException iae) { throw new WebScriptException(HttpStatus.BAD_REQUEST.value(), iae.getMessage()); } } @Override Loading
shared/src/main/java/com/inteligr8/alfresco/asie/rest/AbstractAsieNodeShardWebScript.java +3 −5 Original line number Diff line number Diff line Loading @@ -7,8 +7,6 @@ import org.slf4j.LoggerFactory; import org.springframework.extensions.webscripts.WebScriptRequest; import org.springframework.extensions.webscripts.WebScriptResponse; import com.inteligr8.alfresco.asie.model.ShardSet; public abstract class AbstractAsieNodeShardWebScript extends AbstractAsieShardableWebScript { private final Logger logger = LoggerFactory.getLogger(this.getClass()); Loading @@ -22,14 +20,14 @@ public abstract class AbstractAsieNodeShardWebScript extends AbstractAsieShardab String nodeHostname = colon < 0 ? nodeEndpoint : nodeEndpoint.substring(0, colon); int nodePort = colon < 0 ? this.getApiService().getDefaultSolrPort() : Integer.parseInt(nodeEndpoint.substring(colon+1)); ShardSet shardSet = this.getRequiredPathParameter(req, "shardSet", ShardSet.class); String shardCore = this.getRequiredPathParameter(req, "shardCore", String.class); int shardId = this.getRequiredPathParameter(req, "shardId", Integer.class); this.execute(req, res, nodeHostname, nodePort, shardSet, shardId); this.execute(req, res, nodeHostname, nodePort, shardCore, shardId); } protected abstract void execute(WebScriptRequest req, WebScriptResponse res, String nodeHostname, int nodePort, ShardSet shardSet, int shardId) String nodeHostname, int nodePort, String shardCore, int shardId) throws IOException; }