+++ /dev/null
-/*******************************************************************************\r
- * ============LICENSE_START====================================================\r
- * * org.onap.aaf\r
- * * ===========================================================================\r
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
- * * ===========================================================================\r
- * * Licensed under the Apache License, Version 2.0 (the "License");\r
- * * you may not use this file except in compliance with the License.\r
- * * You may obtain a copy of the License at\r
- * * \r
- * * http://www.apache.org/licenses/LICENSE-2.0\r
- * * \r
- * * Unless required by applicable law or agreed to in writing, software\r
- * * distributed under the License is distributed on an "AS IS" BASIS,\r
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * * See the License for the specific language governing permissions and\r
- * * limitations under the License.\r
- * * ============LICENSE_END====================================================\r
- * *\r
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
- * *\r
- ******************************************************************************/\r
-package org.onap.aaf.cadi.aaf.client;\r
-\r
-\r
-import java.lang.reflect.InvocationTargetException;\r
-import java.lang.reflect.Method;\r
-import java.util.GregorianCalendar;\r
-\r
-import aaf.v2_0.Approval;\r
-import aaf.v2_0.Approvals;\r
-import aaf.v2_0.CredRequest;\r
-import aaf.v2_0.Keys;\r
-import aaf.v2_0.NsRequest;\r
-import aaf.v2_0.Nss;\r
-import aaf.v2_0.Nss.Ns;\r
-import aaf.v2_0.Perm;\r
-import aaf.v2_0.PermKey;\r
-import aaf.v2_0.PermRequest;\r
-import aaf.v2_0.Perms;\r
-import aaf.v2_0.Pkey;\r
-import aaf.v2_0.Request;\r
-import aaf.v2_0.Role;\r
-import aaf.v2_0.RoleKey;\r
-import aaf.v2_0.RolePermRequest;\r
-import aaf.v2_0.RoleRequest;\r
-import aaf.v2_0.Roles;\r
-import aaf.v2_0.UserRole;\r
-import aaf.v2_0.UserRoleRequest;\r
-import aaf.v2_0.UserRoles;\r
-import aaf.v2_0.Users;\r
-import aaf.v2_0.Users.User;\r
-\r
-import org.onap.aaf.inno.env.APIException;\r
-import org.onap.aaf.inno.env.Data;\r
-import org.onap.aaf.inno.env.Data.TYPE;\r
-import org.onap.aaf.inno.env.util.Chrono;\r
-import org.onap.aaf.rosetta.env.RosettaDF;\r
-import org.onap.aaf.rosetta.env.RosettaEnv;\r
-\r
-public class Examples {\r
- public static <C> String print(RosettaEnv env, String nameOrContentType, boolean optional) throws APIException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {\r
- // Discover ClassName\r
- String className = null;\r
- String version = null;\r
- TYPE type = TYPE.JSON; // default\r
- if(nameOrContentType.startsWith("application/")) {\r
- for(String ct : nameOrContentType.split("\\s*,\\s*")) {\r
- for(String elem : ct.split("\\s*;\\s*")) {\r
- if(elem.endsWith("+json")) {\r
- type = TYPE.JSON;\r
- className = elem.substring(elem.indexOf('/')+1, elem.length()-5);\r
- } else if(elem.endsWith("+xml")) {\r
- type = TYPE.XML;\r
- className = elem.substring(elem.indexOf('/')+1, elem.length()-4);\r
- } else if(elem.startsWith("version=")) {\r
- version = elem.substring(8);\r
- }\r
- }\r
- if(className!=null && version!=null)break;\r
- }\r
- if(className==null) {\r
- throw new APIException(nameOrContentType + " does not contain Class Information");\r
- }\r
- } else {\r
- className = nameOrContentType;\r
- }\r
- \r
- // No Void.class in aaf.v2_0 package causing errors when trying to use a newVoidv2_0\r
- // method similar to others in this class. This makes it work, but is it right?\r
- if ("Void".equals(className)) return "";\r
- \r
- if("1.1".equals(version)) {\r
- version = "v1_0";\r
- } else if(version!=null) {\r
- version = "v" + version.replace('.', '_');\r
- } else {\r
- version = "v2_0";\r
- }\r
- \r
- Class<?> cls;\r
- try {\r
- cls = Examples.class.getClassLoader().loadClass("aaf."+version+'.'+className);\r
- } catch (ClassNotFoundException e) {\r
- throw new APIException(e);\r
- }\r
- \r
- Method meth;\r
- try {\r
- meth = Examples.class.getDeclaredMethod("new"+cls.getSimpleName()+version,boolean.class);\r
- } catch (Exception e) {\r
- throw new APIException("ERROR: " + cls.getName() + " does not have an Example in Code. Request from AAF Developers");\r
- }\r
- \r
- RosettaDF<C> df = env.newDataFactory(cls);\r
- df.option(Data.PRETTY);\r
- \r
- Object data = meth.invoke(null,optional);\r
- \r
- @SuppressWarnings("unchecked")\r
- String rv = df.newData().load((C)data).out(type).asString();\r
-// Object obj = df.newData().in(type).load(rv).asObject();\r
- return rv;\r
- }\r
- \r
- /*\r
- * Set Base Class Request (easier than coding over and over)\r
- */\r
- private static void setOptional(Request req) {\r
- GregorianCalendar gc = new GregorianCalendar();\r
- req.setStart(Chrono.timeStamp(gc));\r
- gc.add(GregorianCalendar.MONTH, 6);\r
- req.setEnd(Chrono.timeStamp(gc));\r
-// req.setForce("false");\r
- \r
- }\r
- \r
- @SuppressWarnings("unused")\r
- private static Request newRequestv2_0(boolean optional) {\r
- Request r = new Request();\r
- setOptional(r);\r
- return r;\r
- }\r
- @SuppressWarnings("unused")\r
- private static RolePermRequest newRolePermRequestv2_0(boolean optional) {\r
- RolePermRequest rpr = new RolePermRequest();\r
- Pkey pkey = new Pkey();\r
- pkey.setType("com.att.myns.mytype");\r
- pkey.setInstance("myInstance");\r
- pkey.setAction("myAction");\r
- rpr.setPerm(pkey);\r
- rpr.setRole("com.att.myns.myrole");\r
- if(optional)setOptional(rpr);\r
- return rpr;\r
- }\r
- \r
- @SuppressWarnings("unused")\r
- private static Roles newRolesv2_0(boolean optional) {\r
- Role r;\r
- Pkey p;\r
- Roles rs = new Roles();\r
- rs.getRole().add(r = new Role());\r
- r.setName("com.att.myns.myRole");\r
- r.getPerms().add(p = new Pkey());\r
- p.setType("com.att.myns.myType");\r
- p.setInstance("myInstance");\r
- p.setAction("myAction");\r
- \r
- r.getPerms().add(p = new Pkey());\r
- p.setType("com.att.myns.myType");\r
- p.setInstance("myInstance");\r
- p.setAction("myOtherAction");\r
- \r
- rs.getRole().add(r = new Role());\r
- r.setName("com.att.myns.myOtherRole");\r
- r.getPerms().add(p = new Pkey());\r
- p.setType("com.att.myns.myOtherType");\r
- p.setInstance("myInstance");\r
- p.setAction("myAction");\r
- \r
- r.getPerms().add(p = new Pkey());\r
- p.setType("com.att.myns.myOthertype");\r
- p.setInstance("myInstance");\r
- p.setAction("myOtherAction");\r
-\r
- return rs;\r
- }\r
- \r
- \r
- @SuppressWarnings("unused")\r
- private static PermRequest newPermRequestv2_0(boolean optional) {\r
- PermRequest pr = new PermRequest();\r
- pr.setType("com.att.myns.myType");\r
- pr.setInstance("myInstance");\r
- pr.setAction("myAction");\r
- if(optional) {\r
- pr.setDescription("Short and meaningful verbiage about the Permission");\r
- \r
- setOptional(pr);\r
- }\r
- return pr;\r
- }\r
- \r
- @SuppressWarnings("unused")\r
- private static Perm newPermv2_0(boolean optional) {\r
- Perm pr = new Perm();\r
- pr.setType("com.att.myns.myType");\r
- pr.setInstance("myInstance");\r
- pr.setAction("myAction");\r
- pr.getRoles().add("com.att.myns.myRole");\r
- pr.getRoles().add("com.att.myns.myRole2");\r
- pr.setDescription("This is my description, and I'm sticking with it");\r
- if(optional) {\r
- pr.setDescription("Short and meaningful verbiage about the Permission");\r
- }\r
- return pr;\r
- }\r
-\r
-\r
- @SuppressWarnings("unused")\r
- private static PermKey newPermKeyv2_0(boolean optional) {\r
- PermKey pr = new PermKey();\r
- pr.setType("com.att.myns.myType");\r
- pr.setInstance("myInstance");\r
- pr.setAction("myAction");\r
- return pr;\r
- }\r
- \r
- @SuppressWarnings("unused")\r
- private static Perms newPermsv2_0(boolean optional) {\r
- Perms perms = new Perms();\r
- Perm p;\r
- perms.getPerm().add(p=new Perm());\r
- p.setType("com.att.myns.myType");\r
- p.setInstance("myInstance");\r
- p.setAction("myAction");\r
- p.getRoles().add("com.att.myns.myRole");\r
- p.getRoles().add("com.att.myns.myRole2");\r
- \r
-\r
- perms.getPerm().add(p=new Perm());\r
- p.setType("com.att.myns.myOtherType");\r
- p.setInstance("myInstance");\r
- p.setAction("myOtherAction");\r
- p.getRoles().add("com.att.myns.myRole");\r
- p.getRoles().add("com.att.myns.myRole2");\r
-\r
- return perms;\r
- \r
- }\r
- \r
- @SuppressWarnings("unused")\r
- private static UserRoleRequest newUserRoleRequestv2_0(boolean optional) {\r
- UserRoleRequest urr = new UserRoleRequest();\r
- urr.setRole("com.att.myns.myRole");\r
- urr.setUser("ab1234@csp.att.com");\r
- if(optional) setOptional(urr);\r
- return urr;\r
- }\r
- \r
- @SuppressWarnings("unused")\r
- private static NsRequest newNsRequestv2_0(boolean optional) {\r
- NsRequest nr = new NsRequest();\r
- nr.setName("com.att.myns");\r
- nr.getResponsible().add("ab1234@csp.att.com");\r
- nr.getResponsible().add("cd5678@csp.att.com");\r
- nr.getAdmin().add("zy9876@csp.att.com");\r
- nr.getAdmin().add("xw5432@csp.att.com"); \r
- if(optional) {\r
- nr.setDescription("This is my Namespace to set up");\r
- nr.setType("APP");\r
- setOptional(nr);\r
- }\r
- return nr;\r
- }\r
- \r
- \r
- @SuppressWarnings("unused")\r
- private static Nss newNssv2_0(boolean optional) {\r
- Ns ns;\r
- \r
- Nss nss = new Nss();\r
- nss.getNs().add(ns = new Nss.Ns());\r
- ns.setName("com.att.myns");\r
- ns.getResponsible().add("ab1234@csp.att.com");\r
- ns.getResponsible().add("cd5678@csp.att.com");\r
- ns.getAdmin().add("zy9876@csp.att.com");\r
- ns.getAdmin().add("xw5432@csp.att.com");\r
- ns.setDescription("This is my Namespace to set up");\r
- \r
- nss.getNs().add(ns = new Nss.Ns());\r
- ns.setName("com.att.myOtherNs");\r
- ns.getResponsible().add("ab1234@csp.att.com");\r
- ns.getResponsible().add("cd5678@csp.att.com");\r
- ns.getAdmin().add("zy9876@csp.att.com");\r
- ns.getAdmin().add("xw5432@csp.att.com"); \r
- \r
- return nss;\r
- }\r
- @SuppressWarnings("unused")\r
- private static RoleRequest newRoleRequestv2_0(boolean optional) {\r
- RoleRequest rr = new RoleRequest();\r
- rr.setName("com.att.myns.myRole");\r
- if(optional) {\r
- rr.setDescription("This is my Role");\r
- setOptional(rr);\r
- }\r
- return rr;\r
- }\r
-\r
- @SuppressWarnings("unused")\r
- private static CredRequest newCredRequestv2_0(boolean optional) {\r
- CredRequest cr = new CredRequest();\r
- cr.setId("myID@fully.qualified.domain");\r
- if(optional) {\r
- cr.setType(2);\r
- cr.setEntry("0x125AB256344CE");\r
- } else {\r
- cr.setPassword("This is my provisioned password");\r
- }\r
-\r
- return cr;\r
- }\r
- \r
- @SuppressWarnings("unused")\r
- private static Users newUsersv2_0(boolean optional) {\r
- User user;\r
- \r
- Users users = new Users();\r
- users.getUser().add(user = new Users.User());\r
- user.setId("ab1234@csp.att.com"); \r
- GregorianCalendar gc = new GregorianCalendar();\r
- user.setExpires(Chrono.timeStamp(gc));\r
- \r
- users.getUser().add(user = new Users.User());\r
- user.setId("zy9876@csp.att.com"); \r
- user.setExpires(Chrono.timeStamp(gc)); \r
- \r
- return users;\r
- }\r
-\r
- @SuppressWarnings("unused")\r
- private static Role newRolev2_0(boolean optional) {\r
- Role r = new Role();\r
- Pkey p;\r
- r.setName("com.att.myns.myRole");\r
- r.getPerms().add(p = new Pkey());\r
- p.setType("com.att.myns.myType");\r
- p.setInstance("myInstance");\r
- p.setAction("myAction");\r
-\r
- return r;\r
- }\r
-\r
- @SuppressWarnings("unused")\r
- private static RoleKey newRoleKeyv2_0(boolean optional) {\r
- RoleKey r = new RoleKey();\r
- Pkey p;\r
- r.setName("com.att.myns.myRole");\r
- return r;\r
- }\r
-\r
- @SuppressWarnings("unused")\r
- private static Keys newKeysv2_0(boolean optional) {\r
- Keys ks = new Keys();\r
- ks.getKey().add("Reponse 1");\r
- ks.getKey().add("Response 2");\r
- return ks;\r
- }\r
-\r
- @SuppressWarnings("unused")\r
- private static UserRoles newUserRolesv2_0(boolean optional) {\r
- UserRoles urs = new UserRoles();\r
- UserRole ur = new UserRole();\r
- ur.setUser("xy1234");\r
- ur.setRole("com.test.myapp.myRole");\r
- ur.setExpires(Chrono.timeStamp());\r
- urs.getUserRole().add(ur);\r
- \r
- ur = new UserRole();\r
- ur.setUser("yx4321");\r
- ur.setRole("com.test.yourapp.yourRole");\r
- ur.setExpires(Chrono.timeStamp());\r
- urs.getUserRole().add(ur);\r
- return urs;\r
- }\r
-\r
-\r
- @SuppressWarnings("unused")\r
- private static Approvals newApprovalsv2_0(boolean optional) {\r
- Approvals as = new Approvals();\r
- Approval a = new Approval();\r
- a.setApprover("MyApprover");\r
- a.setId("MyID");\r
- a.setMemo("My memo (and then some)");\r
- a.setOperation("MyOperation");\r
- a.setStatus("MyStatus");\r
- a.setTicket("MyTicket");\r
- a.setType("MyType");\r
- a.setUpdated(Chrono.timeStamp());\r
- a.setUser("MyUser");\r
- as.getApprovals().add(a);\r
- a = new Approval();\r
- a.setApprover("MyApprover2");\r
- a.setId("MyID2");\r
- a.setMemo("My memo (and then some)2");\r
- a.setOperation("MyOperation2");\r
- a.setStatus("MyStatus2");\r
- a.setTicket("MyTicket2");\r
- a.setType("MyType2");\r
- a.setUpdated(Chrono.timeStamp());\r
- a.setUser("MyUser2");\r
- as.getApprovals().add(a);\r
- return as;\r
- }\r
-\r
- @SuppressWarnings("unused")\r
- private static Approval newApprovalv2_0(boolean optional) {\r
- Approval a = new Approval();\r
- a.setApprover("MyApprover");\r
- a.setId("MyID");\r
- a.setMemo("My memo (and then some)");\r
- a.setOperation("MyOperation");\r
- a.setStatus("MyStatus");\r
- a.setTicket("MyTicket");\r
- a.setType("MyType");\r
- a.setUpdated(Chrono.timeStamp());\r
- a.setUser("MyUser");\r
- return a;\r
- }\r
-\r
- \r
-\r
- @SuppressWarnings("unused")\r
- private static aaf.v2_0.Error newErrorv2_0(boolean optional) {\r
- aaf.v2_0.Error err = new aaf.v2_0.Error();\r
- err.setMessageId("SVC1403");\r
- err.setText("MyText %s, %s: The last three digits are usually the HTTP Code");\r
- err.getVariables().add("Variable 1");\r
- err.getVariables().add("Variable 2");\r
- return err;\r
- }\r
-\r
-}\r