diff options
author | sliard <samuel.liard@gmail.com> | 2021-04-12 15:58:22 +0200 |
---|---|---|
committer | Fiachra Corcoran <fiachra.corcoran@est.tech> | 2021-04-15 16:48:33 +0000 |
commit | 72a9ab9e886cdeabc4b43418a7054a5796a0ff55 (patch) | |
tree | 8617e503cce134f06c10507cf99d43cd4e1eedcc /src/main/java/org/onap/dmaap/mr/tools/TopicCommand.java | |
parent | 78ebc9a64fac6231e3e594200b9335a4c6372ed1 (diff) |
[DMAAP-CLIENT] First sonar issues review part2
update Copyright informations
fix checkstyle warning and fix code review comments
remove Prop
Issue-ID: DMAAP-1585
Change-Id: I445ca5d0888a555acbac70af7ed571be26d74f79
Signed-off-by: sliard <samuel.liard@gmail.com>
Diffstat (limited to 'src/main/java/org/onap/dmaap/mr/tools/TopicCommand.java')
-rw-r--r-- | src/main/java/org/onap/dmaap/mr/tools/TopicCommand.java | 321 |
1 files changed, 139 insertions, 182 deletions
diff --git a/src/main/java/org/onap/dmaap/mr/tools/TopicCommand.java b/src/main/java/org/onap/dmaap/mr/tools/TopicCommand.java index 278b04f..e8ad076 100644 --- a/src/main/java/org/onap/dmaap/mr/tools/TopicCommand.java +++ b/src/main/java/org/onap/dmaap/mr/tools/TopicCommand.java @@ -4,11 +4,13 @@ * ================================================================================ * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright © 2021 Orange. + * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -17,205 +19,160 @@ * ============LICENSE_END========================================================= * * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * + * *******************************************************************************/ -package org.onap.dmaap.mr.tools; - -import java.io.IOException; -import java.io.PrintStream; -import java.util.Set; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +package org.onap.dmaap.mr.tools; import com.att.nsa.apiClient.http.HttpException; import com.att.nsa.apiClient.http.HttpObjectNotFoundException; import com.att.nsa.cmdtool.Command; import com.att.nsa.cmdtool.CommandNotReadyException; +import java.io.IOException; +import java.io.PrintStream; +import java.util.Set; import org.onap.dmaap.mr.client.MRClientFactory; import org.onap.dmaap.mr.client.MRTopicManager; import org.onap.dmaap.mr.client.MRTopicManager.TopicInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class TopicCommand implements Command<MRCommandContext> { + final Logger logger = LoggerFactory.getLogger(TopicCommand.class); + + private static final String REQUEST_ERROR_MESSAGE = "Problem with request: "; + private static final String IOEXCEPTION_MESSAGE = "IOException: "; + private static final String HTTP_EXCEPTION_MESSAGE = "HttpException: "; + + @Override + public String[] getMatches() { + return new String[] { + "topic (list)", + "topic (list) (\\S*)", + "topic (create) (\\S*) (\\S*) (\\S*)", + "topic (grant|revoke) (read|write) (\\S*) (\\S*)", + }; + } -public class TopicCommand implements Command<MRCommandContext> -{ - final Logger logger = LoggerFactory.getLogger(ApiKeyCommand.class); - @Override - public String[] getMatches () - { - return new String[]{ - "topic (list)", - "topic (list) (\\S*)", - "topic (create) (\\S*) (\\S*) (\\S*)", - "topic (grant|revoke) (read|write) (\\S*) (\\S*)", - }; - } + @Override + public void checkReady(MRCommandContext context) throws CommandNotReadyException { + if (!context.checkClusterReady()) { + throw new CommandNotReadyException("Use 'cluster' to specify a cluster to use."); + } + } - @Override - public void checkReady ( MRCommandContext context ) throws CommandNotReadyException - { - if ( !context.checkClusterReady () ) - { - throw new CommandNotReadyException ( "Use 'cluster' to specify a cluster to use." ); - } - } + @Override + public void execute(String[] parts, MRCommandContext context, PrintStream out) throws CommandNotReadyException { + final MRTopicManager tm = MRClientFactory.createTopicManager(context.getCluster(), context.getApiKey(), context.getApiPwd()); + context.applyTracer(tm); - @Override - public void execute ( String[] parts, MRCommandContext context, PrintStream out ) throws CommandNotReadyException - { - final MRTopicManager tm = MRClientFactory.createTopicManager ( context.getCluster(), context.getApiKey(), context.getApiPwd() ); - context.applyTracer ( tm ); + try { + switch (parts[0]) { + case "list": + try { + if (parts.length == 1) { + for (String topic : tm.getTopics()) { + out.println(topic); + } + } else { + final TopicInfo ti = tm.getTopicMetadata(parts[1]); - try - { - if ( parts[0].equals ( "list" ) ) - { - try - { - if ( parts.length == 1 ) - { - for ( String topic : tm.getTopics () ) - { - out.println ( topic ); - } - } - else - { - final TopicInfo ti = tm.getTopicMetadata ( parts[1] ); + final String owner = ti.getOwner(); + out.println(" owner: " + (owner == null ? "<none>" : owner)); - final String owner = ti.getOwner (); - out.println ( " owner: " + ( owner == null ? "<none>" : owner ) ); + final String desc = ti.getDescription(); + out.println("description: " + (desc == null ? "<none>" : desc)); - final String desc = ti.getDescription (); - out.println ( "description: " + ( desc == null ? "<none>" : desc ) ); + final Set<String> prods = ti.getAllowedProducers(); + if (prods != null) { + out.println(" write ACL: "); + for (String key : prods) { + out.println("\t" + key); + } + } else { + out.println(" write ACL: <not active>"); + } - final Set<String> prods = ti.getAllowedProducers (); - if ( prods != null ) - { - out.println ( " write ACL: " ); - for ( String key : prods ) - { - out.println ( "\t" + key ); - } - } - else - { - out.println ( " write ACL: <not active>" ); - } + final Set<String> cons = ti.getAllowedConsumers(); + if (cons != null) { + out.println(" read ACL: "); + for (String key : cons) { + out.println("\t" + key); + } + } else { + out.println(" read ACL: <not active>"); + } + } + } catch (IOException x) { + out.println(REQUEST_ERROR_MESSAGE + x.getMessage()); + logger.error(IOEXCEPTION_MESSAGE, x); + } catch (HttpObjectNotFoundException e) { + out.println("Not found: " + e.getMessage()); + logger.error("HttpObjectNotFoundException: ", e); + } + break; + case "create": + try { + final int partitions = Integer.parseInt(parts[2]); + final int replicas = Integer.parseInt(parts[3]); - final Set<String> cons = ti.getAllowedConsumers (); - if ( cons != null ) - { - out.println ( " read ACL: " ); - for ( String key : cons ) - { - out.println ( "\t" + key ); - } - } - else - { - out.println ( " read ACL: <not active>" ); - } - } - } - catch ( IOException x ) - { - out.println ( "Problem with request: " + x.getMessage () ); - logger.error("IOException: ", x); - } - catch ( HttpObjectNotFoundException e ) - { - out.println ( "Not found: " + e.getMessage () ); - logger.error("HttpObjectNotFoundException: ", e); - } - } - else if ( parts[0].equals ( "create" ) ) - { - try - { - final int partitions = Integer.parseInt ( parts[2] ); - final int replicas = Integer.parseInt ( parts[3] ); - - tm.createTopic ( parts[1], "", partitions, replicas ); - } - catch ( HttpException e ) - { - out.println ( "Problem with request: " + e.getMessage () ); - logger.error("HttpException: ", e); - } - catch ( IOException e ) - { - out.println ( "Problem with request: " + e.getMessage () ); - logger.error("IOException: ", e); - } - catch ( NumberFormatException e ) - { - out.println ( "Problem with request: " + e.getMessage () ); - logger.error("NumberFormatException: ", e); - } - } - else if ( parts[0].equals ( "grant" ) ) - { - try - { - if ( parts[1].equals ( "write" ) ) - { - tm.allowProducer ( parts[2], parts[3] ); - } - else if ( parts[1].equals ( "read" ) ) - { - tm.allowConsumer ( parts[2], parts[3] ); - } - } - catch ( HttpException e ) - { - out.println ( "Problem with request: " + e.getMessage () ); - logger.error("HttpException: ", e); - } - catch ( IOException e ) - { - out.println ( "Problem with request: " + e.getMessage () ); - logger.error("IOException: ", e); - } - } - else if ( parts[0].equals ( "revoke" ) ) - { - try - { - if ( parts[1].equals ( "write" ) ) - { - tm.revokeProducer ( parts[2], parts[3] ); - } - else if ( parts[1].equals ( "read" ) ) - { - tm.revokeConsumer ( parts[2], parts[3] ); - } - } - catch ( HttpException e ) - { - out.println ( "Problem with request: " + e.getMessage () ); - logger.error("HttpException: ", e); - } - catch ( IOException e ) - { - out.println ( "Problem with request: " + e.getMessage () ); - logger.error("IOException: ", e); - } - } - } - finally - { - tm.close (); - } - } + tm.createTopic(parts[1], "", partitions, replicas); + } catch (HttpException e) { + out.println(REQUEST_ERROR_MESSAGE + e.getMessage()); + logger.error(HTTP_EXCEPTION_MESSAGE, e); + } catch (IOException e) { + out.println(REQUEST_ERROR_MESSAGE + e.getMessage()); + logger.error(IOEXCEPTION_MESSAGE, e); + } catch (NumberFormatException e) { + out.println(REQUEST_ERROR_MESSAGE + e.getMessage()); + logger.error("NumberFormatException: ", e); + } + break; + case "grant": + try { + if (parts[1].equals("write")) { + tm.allowProducer(parts[2], parts[3]); + } else if (parts[1].equals("read")) { + tm.allowConsumer(parts[2], parts[3]); + } + } catch (HttpException e) { + out.println(REQUEST_ERROR_MESSAGE + e.getMessage()); + logger.error(HTTP_EXCEPTION_MESSAGE, e); + } catch (IOException e) { + out.println(REQUEST_ERROR_MESSAGE + e.getMessage()); + logger.error(IOEXCEPTION_MESSAGE, e); + } + break; + case "revoke": + try { + if (parts[1].equals("write")) { + tm.revokeProducer(parts[2], parts[3]); + } else if (parts[1].equals("read")) { + tm.revokeConsumer(parts[2], parts[3]); + } + } catch (HttpException e) { + out.println(REQUEST_ERROR_MESSAGE + e.getMessage()); + logger.error(HTTP_EXCEPTION_MESSAGE, e); + } catch (IOException e) { + out.println(REQUEST_ERROR_MESSAGE + e.getMessage()); + logger.error(IOEXCEPTION_MESSAGE, e); + } + break; + default: + throw new CommandNotReadyException("The command " + parts[0] + " is not available"); + } + } finally { + tm.close(); + } + } - @Override - public void displayHelp ( PrintStream out ) - { - out.println ( "topic list" ); - out.println ( "topic list <topicName>" ); - out.println ( "topic create <topicName> <partitions> <replicas>" ); - out.println ( "topic grant write|read <topicName> <apiKey>" ); - out.println ( "topic revoke write|read <topicName> <apiKey>" ); - } + @Override + public void displayHelp(PrintStream out) { + out.println("topic list"); + out.println("topic list <topicName>"); + out.println("topic create <topicName> <partitions> <replicas>"); + out.println("topic grant write|read <topicName> <apiKey>"); + out.println("topic revoke write|read <topicName> <apiKey>"); + } } |