private static void callOn(Modal modal, String method) { try { // try with bootstrap 2.0.4.0 signature GwtReflectionUtils.callPrivateMethod(modal, method); } catch (ReflectionException e) { // try with bootstrap 2.1.1.0 signature GwtReflectionUtils.callPrivateMethod(modal, method, new Object[] {null}); } }
private Class<?> getResourceType(String alias, String localName, Map<String, Object> attributes) { String type = (String) attributes.get("type"); if (type == null && "image".equals(localName)) { // special code for <ui:image> with no 'type' attribute return ImageResource.class; } else if (type == null && "style".equals(localName)) { // special code for <ui:style> with no 'type' attribute return CssResource.class; } else if (type == null && "data".equals(localName)) { // special code for <ui:data> with no 'type' attribute return DataResource.class; } else if (type == null) { throw new GwtTestUiBinderException( "<" + localName + "> element declared in " + owner.getClass().getSimpleName() + ".ui.xml must specify a 'type' attribute"); } try { return GwtReflectionUtils.getClass(type); } catch (ClassNotFoundException e2) { throw new GwtTestUiBinderException( "Cannot find class '" + type + "' for resource '" + alias + "' declared in file '" + owner.getClass().getSimpleName() + ".ui.xml'"); } }
private Field getUniqueUiField(String alias) { Set<Field> resourceFields = GwtReflectionUtils.getFields(owner.getClass()); if (resourceFields.size() == 0) { return null; } Field result = null; for (Field f : resourceFields) { if (alias.equals(f.getName()) && f.isAnnotationPresent(UiField.class)) { if (result != null) { throw new GwtTestUiBinderException( "There are more than one '" + f.getName() + "' @UiField in class '" + owner.getClass().getName() + "' or its superclass"); } result = f; } } return result; }
private void collectSingleImport( String importValue, Map<String, Object> resources, Object owner) { try { int token = importValue.lastIndexOf('.'); String className = importValue.substring(0, token); Class<?> clazz = GwtReflectionUtils.getClass(className); String fieldName = importValue.substring(token + 1); Object objectToImport = GwtReflectionUtils.getStaticFieldValue(clazz, fieldName); // register static field value in UiResourcesManager inner map resources.put(fieldName, objectToImport); } catch (Exception e) { throw new GwtTestUiBinderException( "Error while trying to import ui field '" + importValue + "'", e); } }
private void collectMultipleImports( String importValue, Map<String, Object> resources, Object owner) { try { String className = importValue.substring(0, importValue.lastIndexOf('.')); Class<?> clazz = GwtReflectionUtils.getClass(className); // this code handles classes and enums fine for (Field field : GwtReflectionUtils.getFields(clazz)) { if (Modifier.isStatic(field.getModifiers()) && !Modifier.isPrivate(field.getModifiers()) && !Modifier.isProtected(field.getModifiers())) { // register static field value in UiResourcesManager inner map Object value = GwtReflectionUtils.getStaticFieldValue(clazz, field.getName()); resources.put(field.getName(), value); } } } catch (Exception e) { throw new GwtTestUiBinderException( "Error while trying to import multiple ui fields '" + importValue + "'", e); } }
protected Set<Field> getMockFields() { Set<Field> set = new HashSet<Field>(); set.addAll(GwtReflectionUtils.getAnnotatedField(this.getClass(), Mock.class).keySet()); return set; }