public class DeveloperUtility { /**public static List CreateFields(string sobject_name,string [] fields, boolean create_field,boolean create_config){ PI_Policy_Configuration__c ppc = null; if(create_config){ List ppcs = [select id from PI_Policy_Configuration__c where Sobject_Type__c = :sobject_name]; if(ppcs.size()>0){ ppc = ppcs[0]; } } List ds = new List(); List results = new List(); for(string f : fields){ string old_label = f.removeEnd('__c').replace('_',' '); string label = old_label + ' Encrypted'; string name = label.replace(' ','_')+'__c'; string description = ''; system.debug('old_label='+old_label); system.debug('label='+label); system.debug('name='+name); if(create_field){ system.debug(CreateField(sobject_name,label,name,description,'Text')); } if(create_config){ PI_Field_Policy_Detail__c d = new PI_Field_Policy_Detail__c(); d.SF_Field_API_Name__c = f; d.SF_Field_Encrypted_API__c = name; d.AWS_Field_API__c = f; d.AWS_Encrypted_Field_API__c = name; d.Field_Type__c = 'String'; d.Enable_Encrypt__c = true; if(ppc!=null){ d.PI_Policy_Configuration__c = ppc.Id; } ds.add(d); } } if(ppc==null){ ppc = new PI_Policy_Configuration__c(); ppc.Sobject_Type__c = sobject_name; insert ppc; for(PI_Field_Policy_Detail__c d : ds){ d.PI_Policy_Configuration__c = ppc.Id; } } insert ds; return results; } public static HTTPResponse CreateField(string sobject_name, string label,string name,string description,string type){ HTTP h = new HTTP(); HTTPRequest req = new HTTPRequest(); req.setMethod('POST'); req.setHeader('Content-Type', 'text/xml'); req.setHeader('SOAPAction', 'create'); //string sobject_name = 'Contact'; //string label = 'Title'; //string name = 'Title'+'_Encrypted__c'; //string description = ''; //string type = 'Text'; boolean typeSpecified = true; String b = ''; b += ''; b += ''; b += ''; b += '' + UserInfo.getSessionId() + ''; b += ''; b += ''; b += ''; b += ''; b += ''; b += ''+type+''; b += ''+sobject_name+'.'+name+''; b += ''; b += '255'; b += ''+type+''; b += ''; b += ''; b += ''; b += ''; req.setBody(b); req.setCompressed(false); req.setEndpoint('https://'+System.URL.getOrgDomainUrl().getHost()+'/services/Soap/m/25.0'); HTTPResponse resp = h.send(req); System.debug(resp.getStatus()); System.debug(resp.getBody()); return resp; } public static string ToolingQuery(string query){ system.debug('query='+query); String baseURL = 'https://'+System.URL.getOrgDomainUrl().getHost()+'/services/data/v41.0/tooling/query?q='+ query.replace(' ', '+'); HttpResponse resp = null; HttpRequest req = new HttpRequest(); req.setMethod('GET'); req.setHeader('Authorization', 'Bearer ' + UserInfo.getsessionid()); req.setEndpoint(baseURL); Http client = new Http(); resp = client.send(req); system.debug(resp.getStatus()); system.debug(resp.getStatusCode()); if(resp.getStatus() == 'OK'){ string s = resp.getBody(); system.debug(resp.getBody()); return s; }else{ system.debug('status is not ok,error:'+resp.getBody()); return null; } }*/ }