X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-cmd%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fcmd%2Fperm%2FRename.java;h=36b5a966bcd59c9135a803f6605184f1297a224a;hb=117b1c1fac1d83ffcd866893ab49b138c5126f72;hp=620e1e04d0d0bf5da2fb3c8835ff91d7860d680c;hpb=4b5a7d721d994a49057e9bfb403c7bff1b376660;p=aaf%2Fauthz.git diff --git a/auth/auth-cmd/src/main/java/org/onap/aaf/auth/cmd/perm/Rename.java b/auth/auth-cmd/src/main/java/org/onap/aaf/auth/cmd/perm/Rename.java index 620e1e04..36b5a966 100644 --- a/auth/auth-cmd/src/main/java/org/onap/aaf/auth/cmd/perm/Rename.java +++ b/auth/auth-cmd/src/main/java/org/onap/aaf/auth/cmd/perm/Rename.java @@ -7,9 +7,9 @@ * 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. @@ -22,6 +22,9 @@ package org.onap.aaf.auth.cmd.perm; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; + import org.onap.aaf.auth.cmd.AAFcli; import org.onap.aaf.auth.cmd.Cmd; import org.onap.aaf.auth.cmd.Param; @@ -31,22 +34,23 @@ import org.onap.aaf.cadi.LocatorException; import org.onap.aaf.cadi.client.Future; import org.onap.aaf.cadi.client.Rcli; import org.onap.aaf.cadi.client.Retryable; +import org.onap.aaf.cadi.config.Config; import org.onap.aaf.misc.env.APIException; import aaf.v2_0.PermRequest; public class Rename extends Cmd { public Rename(Perm parent) { - super(parent,"rename", - new Param("type",true), + super(parent,"rename", + new Param("type",true), new Param("instance",true), new Param("action", true), - new Param("new type",true), + new Param("new type",true), new Param("new instance",true), new Param("new action", true) ); } - + @Override public int _exec(final int index, final String ... args) throws CadiException, APIException, LocatorException { return same(new Retryable() { @@ -56,38 +60,45 @@ public class Rename extends Cmd { String origType = args[idx++]; String origInstance = args[idx++]; String origAction = args[idx++]; - + //Create new permission PermRequest pr = new PermRequest(); pr.setType(args[idx++]); pr.setInstance(args[idx++]); - pr.setAction(args[idx++]); - + pr.setAction(args[idx]); + // Set Start/End commands setStartEnd(pr); - Future fp = client.update( - "/authz/perm/"+origType+"/"+origInstance+"/"+origAction, - getDF(PermRequest.class), - pr - ); - int rv; - if(fp.get(AAFcli.timeout())) { - rv = fp.code(); - pw().println("Updated Permission"); - } else { - rv = fp.code(); - if(rv==202) { - pw().println("Permission Update Accepted, but requires Approvals before actualizing"); + try { + Future fp = client.update( + "/authz/perm/"+ + origType+ '/' + + URLEncoder.encode(origInstance,Config.UTF_8) + '/' + + origAction, + getDF(PermRequest.class), + pr + ); + int rv; + if (fp.get(AAFcli.timeout())) { + rv = fp.code(); + pw().println("Updated Permission"); } else { - error(fp); + rv = fp.code(); + if (rv==202) { + pw().println("Permission Update Accepted, but requires Approvals before actualizing"); + } else { + error(fp); + } } + return rv; + } catch (UnsupportedEncodingException e) { + throw new CadiException(e); } - return rv; } }); - + } - + @Override public void detailedHelp(int indent, StringBuilder sb) { detailLine(sb,indent,"Rename a Permission from:");