package is.idega.idegaweb.campus.block.application.business; import com.idega.idegaweb.IWApplicationContext; import com.idega.block.application.business.ReferenceNumberHandler; import com.idega.util.CypherText; /** * <p> * Title: * </p> * <p> * Description: * </p> * <p> * Copyright: Copyright (c) 2002 * </p> * <p> * Company: * </p> * * @author <br> * <a href="mailto:aron@idega.is">Aron Birkir</a><br> * @version 1.0 */ public class ReferenceNumberFinder { public static int LENGTH = 7; private static ReferenceNumberFinder finder; private String key = ""; private CypherText cypherText; private ReferenceNumberHandler refHandler; private ReferenceNumberFinder(IWApplicationContext iwac) { // System.err.println("Creating Finder"); refHandler = new ReferenceNumberHandler(); cypherText = new CypherText(iwac); key = refHandler.getCypherKey(iwac); String refLen = iwac.getApplicationSettings().getProperty( "CAMPUS_REFERENCE_LENGTH", "7"); LENGTH = new Integer(refLen).intValue(); } public static ReferenceNumberFinder getInstance(IWApplicationContext iwac) { if (finder == null) { finder = new ReferenceNumberFinder(iwac); } return finder; } public String lookup(int applicationId) { String id = Integer.toString(applicationId); while (id.length() < LENGTH) id = "0" + id; String refNum = cypherText.doCyper(id, key); return refNum; } }