Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2013 Trillian Mobile AB
   *
   * This program is free software; you can redistribute it and/or
   * modify it under the terms of the GNU General Public License
   * as published by the Free Software Foundation; either version 2
   * of the License, or (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/gpl-2.0.html>.
  */
 package org.robovm.compiler.target.ios;
 
 import java.util.List;
 
Represents a signing identity.
 
 public class SigningIdentity implements Comparable<SigningIdentity> {
 
     private final String name;
     private final String fingerprint;
     
     SigningIdentity(String nameString fingerprint) {
         this. = name;
         this. = fingerprint;
     }
     
     public String getName() {
         return ;
     }
     
     public String getFingerprint() {
         return ;
     }
     
     @Override
     public int compareTo(SigningIdentity o) {
         return this..compareToIgnoreCase(o.name);
     }
     
     @Override
     public String toString() {
         return "SigningIdentity [name=" +  + ", fingerprint=" + 
                 + "]";
     }
 
     public static SigningIdentity find(List<SigningIdentityidsString search) {
         for (SigningIdentity id : ids) {
             if (id.name.startsWith(search) || id.fingerprint.equals(search.toUpperCase())) {
                 return id;
             }
         }
         throw new IllegalArgumentException("No signing identity found matching '" + search + "'");
     }
     
     public static List<SigningIdentitylist() {
         try {
             String out = new Executor(."security")
                 .args("find-identity""-v""-p""codesigning").execCapture();
             /* Output from security looks like this:
              *   1) 62480BA6FC7FACD7CA4100812ABAE9C86FB43DCF "iPhone Developer: Niklas Therning (NZ2HZ85PAR)"
              *   2) 069675F14EDB7A7482A7357B34A9383D84B7DFEA "iPhone Distribution: Trillian AB"
              *     2 valid identities found
              */
             ArrayList<SigningIdentityids = new ArrayList<SigningIdentity>();
             Pattern pattern = Pattern.compile("^\\d+\\) ([0-9A-F]+) \"(.*)\"$");
             for (String line : out.split("\n")) {
                 line = line.trim();
                 Matcher matcher = pattern.matcher(line);
                 if (!matcher.find()) {
                     break;
                 }
                 ids.add(new SigningIdentity(matcher.group(2), matcher.group(1)));
             }
             Collections.sort(ids);
             return ids;
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
     }
     
     public static void main(String[] args) {
         if (args.length == 0) {
             ..println(list());
         } else {
            ..println(find(list(), args[0]));
        }
    }
New to GrepCode? Check out our FAQ X