* org.onap.aaf
* ===========================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 IBM.
* ===========================================================================
* 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.
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import org.onap.aaf.auth.cm.data.CertDrop;
import org.onap.aaf.auth.cm.data.CertRenew;
import org.onap.aaf.auth.dao.cass.CertDAO;
import org.onap.aaf.auth.env.AuthzTrans;
import org.onap.aaf.auth.layer.Result;
-import org.onap.aaf.cadi.util.FQI;
import org.onap.aaf.cadi.util.Vars;
import aaf.v2_0.Error;
public class Mapper1_0 implements Mapper<BaseRequest,CertInfo,Artifacts,Error> {
-
+
@Override
public Class<?> getClass(API api) {
switch(api) {
////////////// Mapping Functions /////////////
@Override
- public Error errorFromMessage(StringBuilder holder, String msgID, String text, String... var) {
+ public Error errorFromMessage(StringBuilder holder, String msgID, String text, Object ... var) {
Error err = new Error();
err.setMessageId(msgID);
// AT&T Restful Error Format requires numbers "%" placements
err.setText(Vars.convert(holder, text, var));
- for (String s : var) {
- err.getVariables().add(s);
+ for (Object s : var) {
+ err.getVariables().add(s.toString());
}
return err;
}
// Certs in keystore versus Truststore. Separate in Version 2_0
if (cin.trustCAs()!=null) {
for (String c : cin.trustCAs()) {
- if (c!=null) {
- if (!cout.getCerts().contains(c)) {
- cout.getCerts().add(c);
- }
- }
+ if ((c!=null)&&(!cout.getCerts().contains(c))) {
+ cout.getCerts().add(c);
+ }
}
}
if (cin.notes()!=null) {
List<ArtiDAO.Data> ladd = new ArrayList<>();
for (Artifact arti : artifacts.getArtifact()) {
ArtiDAO.Data data = new ArtiDAO.Data();
- data.mechid = arti.getMechid();
- data.machine = arti.getMachine();
- data.type(true).addAll(arti.getType());
- data.ca = arti.getCa();
- data.dir = arti.getDir();
- data.os_user = arti.getOsUser();
+ data.mechid = trim(arti.getMechid());
+ data.machine = trim(arti.getMachine());
+ if(arti.getType()!=null) {
+ Set<String> ss = data.type(true);
+ for(String t : arti.getType()) {
+ ss.add(trim(t));
+ }
+ }
+ data.ca = trim(arti.getCa());
+ data.dir = trim(arti.getDir());
+ data.os_user = trim(arti.getOsUser());
// Optional (on way in)
- data.ns = arti.getNs();
+ data.ns = trim(arti.getNs());
data.renewDays = arti.getRenewDays();
- data.notify = arti.getNotification();
-
+ data.notify = trim(arti.getNotification());
+
// Ignored on way in for create/update
- data.sponsor = arti.getSponsor();
- data.expires = null;
-
- // Derive Optional Data from Machine (Domain) if exists
- if (data.machine!=null) {
- if (data.ca==null && data.machine.endsWith(".att.com")) {
- data.ca = "aaf"; // default
- }
- if (data.ns==null ) {
- data.ns=FQI.reverseDomain(data.machine);
+ data.sponsor = (arti.getSponsor());
+ if(arti.getSans()!=null) {
+ Set<String> ls = data.sans(true);
+ for(String t : arti.getSans()) {
+ ls.add(trim(t));
}
}
- data.sans(true).addAll(arti.getSans());
+ data.expires = null;
ladd.add(data);
}
return ladd;
Artifacts artis = new Artifacts();
for (ArtiDAO.Data arti : lArtiDAO.value) {
Artifact a = new Artifact();
- a.setMechid(arti.mechid);
- a.setMachine(arti.machine);
- a.setSponsor(arti.sponsor);
- a.setNs(arti.ns);
- a.setCa(arti.ca);
- a.setDir(arti.dir);
- a.getType().addAll(arti.type(false));
- a.setOsUser(arti.os_user);
+ a.setMechid(trim(arti.mechid));
+ a.setMachine(trim(arti.machine));
+ a.setSponsor(trim(arti.sponsor));
+ a.setNs(trim(arti.ns));
+ a.setCa(trim(arti.ca));
+ a.setDir(trim(arti.dir));
+ for(String t : arti.type(false)) {
+ a.getType().add(trim(t));
+ }
+ a.setOsUser(trim(arti.os_user));
a.setRenewDays(arti.renewDays);
- a.setNotification(arti.notify);
- a.getSans().addAll(arti.sans(false));
+ a.setNotification(trim(arti.notify));
+ for(String t : arti.sans(false)) {
+ a.getSans().add(trim(t));
+ }
artis.getArtifact().add(a);
}
return Result.ok(artis);
return Result.err(lArtiDAO);
}
}
-
-
+
+
+ private String trim(String s) {
+ if(s==null) {
+ return s;
+ } else {
+ return s.trim();
+ }
+ }
}
\ No newline at end of file