/** * Create a controller from specified classname * * @param classname Controller classname. * @return org.apache.struts.tiles.Controller * @throws InstantiationException if an error occur while instanciating Controller : (classname * can't be instanciated, Illegal access with instanciated class, Error while instanciating * class, classname can't be instanciated. */ public static Controller createControllerFromClassname(String classname) throws InstantiationException { try { Class requestedClass = RequestUtils.applicationClass(classname); Object instance = requestedClass.newInstance(); if (log.isDebugEnabled()) { log.debug("Controller created : " + instance); } return (Controller) instance; } catch (java.lang.ClassNotFoundException ex) { throw new InstantiationException("Error - Class not found :" + ex.getMessage()); } catch (java.lang.IllegalAccessException ex) { throw new InstantiationException("Error - Illegal class access :" + ex.getMessage()); } catch (java.lang.InstantiationException ex) { throw ex; } catch (java.lang.ClassCastException ex) { throw new InstantiationException( "Controller of class '" + classname + "' should implements 'Controller' or extends 'Action'"); } }
public void connectPortController(Class<jmri.jmrix.AbstractStreamPortController> T) { try { java.lang.reflect.Constructor<?> ctor = T.getConstructor( java.io.DataInputStream.class, java.io.DataOutputStream.class, String.class); connectedController = (jmri.jmrix.AbstractStreamPortController) ctor.newInstance( getIOStream().getInputStream(), getIOStream().getOutputStream(), "XBee Node " + getPreferedName()); connectedController.configure(); } catch (java.lang.InstantiationException ie) { log.error("Unable to construct Stream Port Controller for node."); ie.printStackTrace(); } catch (java.lang.NoSuchMethodException nsm) { log.error("Unable to construct Stream Port Controller for node."); nsm.printStackTrace(); } catch (java.lang.IllegalAccessException iae) { log.error("Unable to construct Stream Port Controller for node."); iae.printStackTrace(); } catch (java.lang.reflect.InvocationTargetException ite) { log.error("Unable to construct Stream Port Controller for node."); ite.printStackTrace(); } }
static final Object getInstanceProperty(String propertyName, Class ofClass, Class defaultClass) { Class klass = getClassProperty(propertyName, defaultClass); if (klass == null) return null; try { Object obj = klass.newInstance(); if (ofClass.isInstance(obj)) return obj; } catch (Exception _) { } if (defaultClass == null) return null; try { return defaultClass.newInstance(); } catch (java.lang.InstantiationException ex) { throw new RuntimeException(ex.getMessage()); } catch (java.lang.IllegalAccessException ex) { throw new RuntimeException(ex.getMessage()); } }
private void callPut( java.lang.Object object, com.beust.jcommander.Parameterized parameterized, java.lang.String key, java.lang.String value) { try { java.lang.reflect.Method m; m = findPut(parameterized.getType()); m.invoke(parameterized.get(object), key, value); } catch (java.lang.SecurityException e) { e.printStackTrace(); } catch (java.lang.IllegalAccessException e) { e.printStackTrace(); } catch (java.lang.reflect.InvocationTargetException e) { e.printStackTrace(); } catch (java.lang.NoSuchMethodException e) { e.printStackTrace(); } }
public Object getClone() { if (hasCloneMethod) { try { return method.invoke(object); } catch (java.lang.IllegalAccessException e) { e.printStackTrace(); } catch (java.lang.reflect.InvocationTargetException e) { e.printStackTrace(); } return null; } else { Object copy = Constructor.construct(object.getClass()); for (Field field : fields) { try { field.set(copy, field.get(object)); } catch (java.lang.IllegalAccessException e) { e.printStackTrace(); } } return copy; } }
/** * Create a new Bean instance. * * @param obj The reference object describing the Bean */ @Override public Object getObjectInstance( Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws NamingException { if (obj instanceof ResourceRef) { try { Reference ref = (Reference) obj; String beanClassName = ref.getClassName(); Class<?> beanClass = null; ClassLoader tcl = Thread.currentThread().getContextClassLoader(); if (tcl != null) { try { beanClass = tcl.loadClass(beanClassName); } catch (ClassNotFoundException e) { } } else { try { beanClass = Class.forName(beanClassName); } catch (ClassNotFoundException e) { e.printStackTrace(); } } if (beanClass == null) { throw new NamingException("Class not found: " + beanClassName); } BeanInfo bi = Introspector.getBeanInfo(beanClass); PropertyDescriptor[] pda = bi.getPropertyDescriptors(); Object bean = beanClass.newInstance(); Enumeration<RefAddr> e = ref.getAll(); while (e.hasMoreElements()) { RefAddr ra = e.nextElement(); String propName = ra.getType(); if (propName.equals(Constants.FACTORY) || propName.equals("scope") || propName.equals("auth") || propName.equals("singleton")) { continue; } String value = (String) ra.getContent(); Object[] valueArray = new Object[1]; int i = 0; for (i = 0; i < pda.length; i++) { if (pda[i].getName().equals(propName)) { Class<?> propType = pda[i].getPropertyType(); if (propType.equals(String.class)) { valueArray[0] = value; } else if (propType.equals(Character.class) || propType.equals(char.class)) { valueArray[0] = Character.valueOf(value.charAt(0)); } else if (propType.equals(Byte.class) || propType.equals(byte.class)) { valueArray[0] = new Byte(value); } else if (propType.equals(Short.class) || propType.equals(short.class)) { valueArray[0] = new Short(value); } else if (propType.equals(Integer.class) || propType.equals(int.class)) { valueArray[0] = new Integer(value); } else if (propType.equals(Long.class) || propType.equals(long.class)) { valueArray[0] = new Long(value); } else if (propType.equals(Float.class) || propType.equals(float.class)) { valueArray[0] = new Float(value); } else if (propType.equals(Double.class) || propType.equals(double.class)) { valueArray[0] = new Double(value); } else if (propType.equals(Boolean.class) || propType.equals(boolean.class)) { valueArray[0] = Boolean.valueOf(value); } else { throw new NamingException( "String conversion for property type '" + propType.getName() + "' not available"); } Method setProp = pda[i].getWriteMethod(); if (setProp != null) { setProp.invoke(bean, valueArray); } else { throw new NamingException("Write not allowed for property: " + propName); } break; } } if (i == pda.length) { throw new NamingException("No set method found for property: " + propName); } } return bean; } catch (java.beans.IntrospectionException ie) { NamingException ne = new NamingException(ie.getMessage()); ne.setRootCause(ie); throw ne; } catch (java.lang.IllegalAccessException iae) { NamingException ne = new NamingException(iae.getMessage()); ne.setRootCause(iae); throw ne; } catch (java.lang.InstantiationException ie2) { NamingException ne = new NamingException(ie2.getMessage()); ne.setRootCause(ie2); throw ne; } catch (java.lang.reflect.InvocationTargetException ite) { NamingException ne = new NamingException(ite.getMessage()); ne.setRootCause(ite); throw ne; } } else { return null; } }
/** * Create a new Bean instance. * * @param obj The reference object describing the Bean */ @Override public Object getObjectInstance( Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws NamingException { if (obj instanceof ResourceRef) { try { Reference ref = (Reference) obj; String beanClassName = ref.getClassName(); Class<?> beanClass = null; ClassLoader tcl = Thread.currentThread().getContextClassLoader(); if (tcl != null) { try { beanClass = tcl.loadClass(beanClassName); } catch (ClassNotFoundException e) { } } else { try { beanClass = Class.forName(beanClassName); } catch (ClassNotFoundException e) { e.printStackTrace(); } } if (beanClass == null) { throw new NamingException("Class not found: " + beanClassName); } BeanInfo bi = Introspector.getBeanInfo(beanClass); PropertyDescriptor[] pda = bi.getPropertyDescriptors(); Object bean = beanClass.newInstance(); /* Look for properties with explicitly configured setter */ RefAddr ra = ref.get("forceString"); Map<String, Method> forced = new HashMap<String, Method>(); String value; if (ra != null) { value = (String) ra.getContent(); Class<?> paramTypes[] = new Class[1]; paramTypes[0] = String.class; String setterName; int index; /* Items are given as comma separated list */ for (String param : value.split(",")) { param = param.trim(); /* A single item can either be of the form name=method * or just a property name (and we will use a standard * setter) */ index = param.indexOf('='); if (index >= 0) { setterName = param.substring(index + 1).trim(); param = param.substring(0, index).trim(); } else { setterName = "set" + param.substring(0, 1).toUpperCase(Locale.ENGLISH) + param.substring(1); } try { forced.put(param, beanClass.getMethod(setterName, paramTypes)); } catch (NoSuchMethodException ex) { throw new NamingException( "Forced String setter " + setterName + " not found for property " + param); } catch (SecurityException ex) { throw new NamingException( "Forced String setter " + setterName + " not allowed for property " + param); } } } Enumeration<RefAddr> e = ref.getAll(); while (e.hasMoreElements()) { ra = e.nextElement(); String propName = ra.getType(); if (propName.equals(Constants.FACTORY) || propName.equals("scope") || propName.equals("auth") || propName.equals("forceString") || propName.equals("singleton")) { continue; } value = (String) ra.getContent(); Object[] valueArray = new Object[1]; /* Shortcut for properties with explicitly configured setter */ Method method = forced.get(propName); if (method != null) { valueArray[0] = value; try { method.invoke(bean, valueArray); } catch (IllegalAccessException ex) { throw new NamingException( "Forced String setter " + method.getName() + " threw IllegalAccessException for property " + propName); } catch (IllegalArgumentException ex) { throw new NamingException( "Forced String setter " + method.getName() + " threw IllegalArgumentException for property " + propName); } catch (InvocationTargetException ex) { throw new NamingException( "Forced String setter " + method.getName() + " threw InvocationTargetException for property " + propName); } continue; } int i = 0; for (i = 0; i < pda.length; i++) { if (pda[i].getName().equals(propName)) { Class<?> propType = pda[i].getPropertyType(); if (propType.equals(String.class)) { valueArray[0] = value; } else if (propType.equals(Character.class) || propType.equals(char.class)) { valueArray[0] = Character.valueOf(value.charAt(0)); } else if (propType.equals(Byte.class) || propType.equals(byte.class)) { valueArray[0] = Byte.valueOf(value); } else if (propType.equals(Short.class) || propType.equals(short.class)) { valueArray[0] = Short.valueOf(value); } else if (propType.equals(Integer.class) || propType.equals(int.class)) { valueArray[0] = Integer.valueOf(value); } else if (propType.equals(Long.class) || propType.equals(long.class)) { valueArray[0] = Long.valueOf(value); } else if (propType.equals(Float.class) || propType.equals(float.class)) { valueArray[0] = Float.valueOf(value); } else if (propType.equals(Double.class) || propType.equals(double.class)) { valueArray[0] = Double.valueOf(value); } else if (propType.equals(Boolean.class) || propType.equals(boolean.class)) { valueArray[0] = Boolean.valueOf(value); } else { throw new NamingException( "String conversion for property " + propName + " of type '" + propType.getName() + "' not available"); } Method setProp = pda[i].getWriteMethod(); if (setProp != null) { setProp.invoke(bean, valueArray); } else { throw new NamingException("Write not allowed for property: " + propName); } break; } } if (i == pda.length) { throw new NamingException("No set method found for property: " + propName); } } return bean; } catch (java.beans.IntrospectionException ie) { NamingException ne = new NamingException(ie.getMessage()); ne.setRootCause(ie); throw ne; } catch (java.lang.IllegalAccessException iae) { NamingException ne = new NamingException(iae.getMessage()); ne.setRootCause(iae); throw ne; } catch (java.lang.InstantiationException ie2) { NamingException ne = new NamingException(ie2.getMessage()); ne.setRootCause(ie2); throw ne; } catch (java.lang.reflect.InvocationTargetException ite) { Throwable cause = ite.getCause(); if (cause instanceof ThreadDeath) { throw (ThreadDeath) cause; } if (cause instanceof VirtualMachineError) { throw (VirtualMachineError) cause; } NamingException ne = new NamingException(ite.getMessage()); ne.setRootCause(ite); throw ne; } } else { return null; } }
public Atm() // constructor // sets the customer array to that found in the file if the file exists { try { // Set cross-platform Java L&F (also called "Metal") UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } if (logFile.exists()) { try { adminLogs = returnLog("p2.log"); if (!adminLogs.isEmpty()) { // there may be customer data but perhaps no transactions yet. ArrayList<Integer> allTransactions = new ArrayList<>(100); for (AdminLog a : adminLogs) { int transaction = a.getTransactionID(); ; allTransactions.add(transaction); } transaction_counter = Collections.max(allTransactions) + 1; } } catch (ClassNotFoundException | IOException e) { e.printStackTrace(); } } if (DBfile.exists()) { try { cust = returnSavedData("p2.dat"); // sets the starting ID to the max of all the IDs stored in the file. allIDs = new ArrayList<Integer>(100); ArrayList<Integer> allAccounts = new ArrayList<>(); for (Customer customer : cust) { String idString = customer.returnID(); int id = Integer.parseInt(idString); allIDs.add(id); int accountNumber = customer.returnMaxAccount(); allAccounts.add(accountNumber); } // checks to see if the customer has even made any accounts, if not, max accounts will be // set at 1001 if (starting_account_number != 1) { starting_account_number = Collections.max(allAccounts) + 1; } starting_customer_number = Collections.max(allIDs) + 1; } catch (ClassNotFoundException | IOException e) { e.printStackTrace(); } } else { cust = new ArrayList<>(100); // creates the file if it does not exist try { saveFile(cust, DBfile); } catch (IOException e) { e.printStackTrace(); } } interest_rate = 5; }