@@ -0,0 +1,1233 @@
+/*%0A * To change this license header, choose License Headers in Project Properties.%0A * To change this template file, choose Tools %7C Templates%0A * and open the template in the editor.%0A */%0Apackage edu.utah.nanofab.coralapi;%0A%0Aimport edu.utah.nanofab.coralapi.exceptions.CoralConnectionException;%0Aimport edu.utah.nanofab.coralapi.exceptions.UnknownMemberException;%0A%0A/**%0A *%0A * @author ryant%0A */%0Apublic class CoralAPIWithRetries %7B%0A    private CoralAPI api;%0A    private int numberOfRetries = 1;%0A    %0A    public CoralAPIWithRetries(String coralUser, String configUrl) throws CoralConnectionException %7B%0A        api = new CoralAPI(coralUser, configUrl);%0A    %7D%0A    %0A    public void activateMember(String memberName) throws UnknownMemberException, Exception %7B%0A        int count = 0;%0A        boolean success = false;%0A        while (count %3C numberOfRetries && !success) %7B%0A            count++;%0A            try %7B%0A                this.api.activateMember(memberName);%0A                success = true;%0A            %7D catch (Exception ex) %7B%0A                //log this%0A                try %7B%0A                    this.api.reInitialize();%0A                %7D catch (Exception ex2) %7B%0A                    //ignore%0A                %7D%0A            %7D%0A        %7D%0A    %7D%0A%0A%7D%0A

add template for how to generate a decorator that retries calls on exceptions