List of usage examples for java.lang Boolean TYPE
Class TYPE
To view the source code for java.lang Boolean TYPE.
Click Source Link
From source file:com.ikanow.infinit.e.harvest.extraction.document.file.FileHarvester.java
private void initializeTika(HarvestContext context, SourcePojo source) { AutoDetectParser autoDetectParser = new AutoDetectParser(); if (null != source.getFileConfig().XmlRootLevelValues) { for (String s : source.getFileConfig().XmlRootLevelValues) { int separator = s.indexOf(':'); String jsonStr = s.substring(separator + 1); if (separator > 0) { String mediaType = s.substring(0, separator); if (mediaType.equalsIgnoreCase("output")) { //special case, just going to configure output if (jsonStr.equalsIgnoreCase("xml") || jsonStr.equalsIgnoreCase("xhtml")) { _tikaXmlFormatWriter = new StringWriter(); _tikaOutputFormat = getTransformerHandler("xml", _tikaXmlFormatWriter); _tikaOutputParseContext = new ParseContext(); }/*from w w w . j a v a2s .co m*/ if (jsonStr.equalsIgnoreCase("html")) { _tikaXmlFormatWriter = new StringWriter(); _tikaOutputFormat = getTransformerHandler("html", _tikaXmlFormatWriter); _tikaOutputParseContext = new ParseContext(); } continue; } //TESTED else if (mediaType.equalsIgnoreCase("bypass")) { Map<MediaType, Parser> parsers = autoDetectParser.getParsers(); parsers.put(MediaType.parse(jsonStr), new TXTParser()); autoDetectParser.setParsers(parsers); continue; } // Try to get media type parser: Parser p = autoDetectParser.getParsers().get(MediaType.parse(mediaType)); while (p instanceof CompositeParser) { p = ((CompositeParser) p).getParsers().get(MediaType.parse(mediaType)); } if (null == p) { context.getHarvestStatus().logMessage( "Failed to find application type " + mediaType + " in tika option: " + s, true); continue; } //TESTED // Get JSON objects and try to apply try { JsonElement jsonObj = new JsonParser().parse(jsonStr); for (Map.Entry<String, JsonElement> keyVal : jsonObj.getAsJsonObject().entrySet()) { if (keyVal.getValue().getAsJsonPrimitive().isBoolean()) { //boolean try { Method method = p.getClass().getMethod(keyVal.getKey(), Boolean.class); method.invoke(p, (Boolean) keyVal.getValue().getAsJsonPrimitive().getAsBoolean()); } catch (Exception e) { try { Method method = p.getClass().getMethod(keyVal.getKey(), Boolean.TYPE); method.invoke(p, keyVal.getValue().getAsJsonPrimitive().getAsBoolean()); } catch (Exception e2) { context.getHarvestStatus().logMessage( "Failed to invoke " + keyVal.getKey() + " in tika option: " + s, true); continue; } //TESTED } } //TESTED if (keyVal.getValue().getAsJsonPrimitive().isString()) { //string try { Method method = p.getClass().getMethod(keyVal.getKey(), String.class); method.invoke(p, keyVal.getValue().getAsJsonPrimitive().getAsString()); } catch (Exception e) { context.getHarvestStatus().logMessage( "Failed to invoke " + keyVal.getKey() + " in tika option: " + s, true); continue; } } //TESTED (cut and paste) if (keyVal.getValue().getAsJsonPrimitive().isNumber()) { // number: int/long/double // Loads of options: Integer.class, Integer.TYPE, Long.class, Long.TYPE, Double.long, Double.TYPE boolean invoked = false; if (!invoked) { // Int.class try { Method method = p.getClass().getMethod(keyVal.getKey(), Integer.class); method.invoke(p, (Integer) keyVal.getValue().getAsJsonPrimitive().getAsInt()); invoked = true; } catch (Exception e) { } } if (!invoked) { // Int.type try { Method method = p.getClass().getMethod(keyVal.getKey(), Integer.TYPE); method.invoke(p, keyVal.getValue().getAsJsonPrimitive().getAsInt()); invoked = true; } catch (Exception e) { } } if (!invoked) { // Long.class try { Method method = p.getClass().getMethod(keyVal.getKey(), Long.class); method.invoke(p, (Long) keyVal.getValue().getAsJsonPrimitive().getAsLong()); invoked = true; } catch (Exception e) { } } if (!invoked) { // Long.type try { Method method = p.getClass().getMethod(keyVal.getKey(), Long.TYPE); method.invoke(p, keyVal.getValue().getAsJsonPrimitive().getAsLong()); invoked = true; } catch (Exception e) { } } if (!invoked) { // Double.class try { Method method = p.getClass().getMethod(keyVal.getKey(), Double.class); method.invoke(p, (Double) keyVal.getValue().getAsJsonPrimitive().getAsDouble()); invoked = true; } catch (Exception e) { } } if (!invoked) { // Double.type try { Method method = p.getClass().getMethod(keyVal.getKey(), Double.TYPE); method.invoke(p, keyVal.getValue().getAsJsonPrimitive().getAsDouble()); invoked = true; } catch (Exception e) { } } } //TOTEST (all the different options) } //(end loop over options) } catch (Exception e) { context.getHarvestStatus().logMessage("Failed to parse JSON in tika option: " + s, true); } //TESTED } else { context.getHarvestStatus().logMessage("Failed to parse tika option: " + s, true); } //TESTED } //TESTED } //(end if has options) _tika = new Tika(TikaConfig.getDefaultConfig().getDetector(), autoDetectParser); }
From source file:org.apache.openjpa.meta.FieldMetaData.java
/** * @return The results of unboxing {@code sourceType} following Java Language Specification, 3rd Ed, s5.1.8 *///from w w w .j a va2s. co m private Class<?> unbox(Class<?> sourceType) { if (sourceType == java.lang.Boolean.class) { return java.lang.Boolean.TYPE; } else if (sourceType == java.lang.Byte.class) { return java.lang.Byte.TYPE; } else if (sourceType == java.lang.Short.class) { return java.lang.Short.TYPE; } else if (sourceType == java.lang.Character.class) { return java.lang.Character.TYPE; } else if (sourceType == java.lang.Integer.class) { return java.lang.Integer.TYPE; } else if (sourceType == java.lang.Long.class) { return java.lang.Long.TYPE; } else if (sourceType == java.lang.Float.class) { return java.lang.Float.TYPE; } else if (sourceType == java.lang.Double.class) { return java.lang.Double.TYPE; } else { return null; } }
From source file:org.apache.openjpa.meta.FieldMetaData.java
/** * @return The results of unboxing {@code sourceType} following Java Language Specification, 3rd Ed, s5.1.7 *///from w w w . j ava 2s. co m private Class<?> box(Class<?> sourceType) { if (sourceType.isPrimitive()) { if (sourceType == java.lang.Boolean.TYPE) { return java.lang.Boolean.class; } else if (sourceType == java.lang.Byte.TYPE) { return java.lang.Byte.class; } else if (sourceType == java.lang.Short.TYPE) { return java.lang.Short.class; } else if (sourceType == java.lang.Character.TYPE) { return java.lang.Character.class; } else if (sourceType == java.lang.Integer.TYPE) { return java.lang.Integer.class; } else if (sourceType == java.lang.Long.TYPE) { return java.lang.Long.class; } else if (sourceType == java.lang.Float.TYPE) { return java.lang.Float.class; } else if (sourceType == java.lang.Double.TYPE) { return java.lang.Double.class; } return null; // Should never be reached because all primitives are accounted for above. } else { throw new IllegalArgumentException("Cannot box a type that is not a primitive."); } }
From source file:org.apache.myfaces.ov2021.application.ApplicationImpl.java
@SuppressWarnings("unchecked") private Converter internalCreateConverter(final Class<?> targetClass) { // Locate a Converter registered for the target class itself. Object converterClassOrClassName = _converterTargetClassToConverterClassMap.get(targetClass); // Locate a Converter registered for interfaces that are // implemented by the target class (directly or indirectly). // Skip if class is String, for performance reasons // (save 3 additional lookups over a concurrent map per request). if (converterClassOrClassName == null && !String.class.equals(targetClass)) { final Class<?> interfaces[] = targetClass.getInterfaces(); if (interfaces != null) { for (int i = 0, len = interfaces.length; i < len; i++) { // search all superinterfaces for a matching converter, // create it final Converter converter = internalCreateConverter(interfaces[i]); if (converter != null) { return converter; }//www . java 2s . c om } } } // Get EnumConverter for enum classes with no special converter, check // here as recursive call with java.lang.Enum will not work if (converterClassOrClassName == null && targetClass.isEnum()) { converterClassOrClassName = _converterTargetClassToConverterClassMap.get(Enum.class); } if (converterClassOrClassName != null) { try { Class<? extends Converter> converterClass = null; if (converterClassOrClassName instanceof Class<?>) { converterClass = (Class<? extends Converter>) converterClassOrClassName; } else if (converterClassOrClassName instanceof String) { converterClass = ClassUtils.simpleClassForName((String) converterClassOrClassName); _converterTargetClassToConverterClassMap.put(targetClass, converterClass); } else { //object stored in the map for this id is an invalid type. remove it and return null _converterTargetClassToConverterClassMap.remove(targetClass); } Converter converter = null; // check cached constructor information if (!_noArgConstructorConverterClasses.contains(converterClass)) { // the converter class either supports the one-arg constructor // or has never been processed before try { // look for a constructor that takes a single Class object // See JSF 1.2 javadoc for Converter Constructor<? extends Converter> constructor = converterClass .getConstructor(new Class[] { Class.class }); converter = constructor.newInstance(new Object[] { targetClass }); } catch (Exception e) { // the constructor does not exist // add the class to the no-arg constructor classes cache _noArgConstructorConverterClasses.add(converterClass); // use no-arg constructor converter = converterClass.newInstance(); } } else { // use no-arg constructor converter = converterClass.newInstance(); } setConverterProperties(converterClass, converter); return converter; } catch (Exception e) { log.log(Level.SEVERE, "Could not instantiate converter " + converterClassOrClassName.toString(), e); throw new FacesException("Could not instantiate converter: " + converterClassOrClassName.toString(), e); } } // locate converter for primitive types if (targetClass == Long.TYPE) { return internalCreateConverter(Long.class); } else if (targetClass == Boolean.TYPE) { return internalCreateConverter(Boolean.class); } else if (targetClass == Double.TYPE) { return internalCreateConverter(Double.class); } else if (targetClass == Byte.TYPE) { return internalCreateConverter(Byte.class); } else if (targetClass == Short.TYPE) { return internalCreateConverter(Short.class); } else if (targetClass == Integer.TYPE) { return internalCreateConverter(Integer.class); } else if (targetClass == Float.TYPE) { return internalCreateConverter(Float.class); } else if (targetClass == Character.TYPE) { return internalCreateConverter(Character.class); } // Locate a Converter registered for the superclass (if any) of the // target class, // recursively working up the inheritance hierarchy. Class<?> superClazz = targetClass.getSuperclass(); return superClazz != null ? internalCreateConverter(superClazz) : null; }
From source file:org.apache.myfaces.application.ApplicationImpl.java
@SuppressWarnings("unchecked") private Converter internalCreateConverter(final Class<?> targetClass) { // Locate a Converter registered for the target class itself. Object converterClassOrClassName = _converterTargetClassToConverterClassMap.get(targetClass); // Locate a Converter registered for interfaces that are // implemented by the target class (directly or indirectly). // Skip if class is String, for performance reasons // (save 3 additional lookups over a concurrent map per request). if (converterClassOrClassName == null && !String.class.equals(targetClass)) { final Class<?> interfaces[] = targetClass.getInterfaces(); if (interfaces != null) { for (int i = 0, len = interfaces.length; i < len; i++) { // search all superinterfaces for a matching converter, // create it final Converter converter = internalCreateConverter(interfaces[i]); if (converter != null) { return converter; }/*from w w w.ja va 2 s .c o m*/ } } } // Get EnumConverter for enum classes with no special converter, check // here as recursive call with java.lang.Enum will not work if (converterClassOrClassName == null && targetClass.isEnum()) { converterClassOrClassName = _converterTargetClassToConverterClassMap.get(Enum.class); } if (converterClassOrClassName != null) { try { Class<? extends Converter> converterClass = null; if (converterClassOrClassName instanceof Class<?>) { converterClass = (Class<? extends Converter>) converterClassOrClassName; } else if (converterClassOrClassName instanceof String) { converterClass = ClassUtils.simpleClassForName((String) converterClassOrClassName); _converterTargetClassToConverterClassMap.put(targetClass, converterClass); } else { //object stored in the map for this id is an invalid type. remove it and return null _converterTargetClassToConverterClassMap.remove(targetClass); } Converter converter = null; // check cached constructor information if (!_noArgConstructorConverterClasses.contains(converterClass)) { // the converter class either supports the one-arg constructor // or has never been processed before try { // look for a constructor that takes a single Class object // See JSF 1.2 javadoc for Converter Constructor<? extends Converter> constructor = converterClass .getConstructor(new Class[] { Class.class }); converter = constructor.newInstance(new Object[] { targetClass }); } catch (Exception e) { // the constructor does not exist // add the class to the no-arg constructor classes cache _noArgConstructorConverterClasses.add(converterClass); // use no-arg constructor converter = createConverterInstance(converterClass); } } else { // use no-arg constructor converter = createConverterInstance(converterClass); } setConverterProperties(converterClass, converter); return converter; } catch (Exception e) { log.log(Level.SEVERE, "Could not instantiate converter " + converterClassOrClassName.toString(), e); throw new FacesException("Could not instantiate converter: " + converterClassOrClassName.toString(), e); } } // locate converter for primitive types if (targetClass == Long.TYPE) { return internalCreateConverter(Long.class); } else if (targetClass == Boolean.TYPE) { return internalCreateConverter(Boolean.class); } else if (targetClass == Double.TYPE) { return internalCreateConverter(Double.class); } else if (targetClass == Byte.TYPE) { return internalCreateConverter(Byte.class); } else if (targetClass == Short.TYPE) { return internalCreateConverter(Short.class); } else if (targetClass == Integer.TYPE) { return internalCreateConverter(Integer.class); } else if (targetClass == Float.TYPE) { return internalCreateConverter(Float.class); } else if (targetClass == Character.TYPE) { return internalCreateConverter(Character.class); } // Locate a Converter registered for the superclass (if any) of the // target class, // recursively working up the inheritance hierarchy. Class<?> superClazz = targetClass.getSuperclass(); return superClazz != null ? internalCreateConverter(superClazz) : null; }
From source file:com.netspective.commons.xdm.XmlDataModelSchema.java
/** * Create a proper implementation of AttributeSetter for the given * attribute type.//from ww w . j a v a2 s .c o m */ private AttributeSetter createAttributeSetter(final Method m, final String attrName, final Class arg) { if (java.lang.String[].class.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { m.invoke(parent, new Object[] { TextUtils.getInstance().split(value, ",", true) }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (java.lang.String.class.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { m.invoke(parent, new String[] { value }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (java.lang.Character.class.equals(arg) || java.lang.Character.TYPE.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { m.invoke(parent, new Character[] { new Character(value.charAt(0)) }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (java.lang.Byte.TYPE.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { m.invoke(parent, new Byte[] { new Byte(value) }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (java.lang.Short.TYPE.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { m.invoke(parent, new Short[] { new Short(value) }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (java.lang.Integer.TYPE.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { m.invoke(parent, new Integer[] { new Integer(value) }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (java.lang.Long.TYPE.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { m.invoke(parent, new Long[] { new Long(value) }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (java.lang.Float.TYPE.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { m.invoke(parent, new Float[] { new Float(value) }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (java.lang.Double.TYPE.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { m.invoke(parent, new Double[] { new Double(value) }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } // boolean gets an extra treatment, because we have a nice method else if (java.lang.Boolean.class.equals(arg) || java.lang.Boolean.TYPE.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { m.invoke(parent, new Boolean[] { new Boolean(TextUtils.getInstance().toBoolean(value)) }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } // Class doesn't have a String constructor but a decent factory method else if (java.lang.Class.class.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException, DataModelException { try { m.invoke(parent, new Class[] { Class.forName(value) }); } catch (ClassNotFoundException ce) { if (pc != null) { DataModelException dme = new DataModelException(pc, ce); pc.addError(dme); if (pc.isThrowErrorException()) throw dme; } else log.error(ce); } } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (java.io.File.class.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { // resolve relative paths through DataModel m.invoke(parent, new File[] { pc != null ? pc.resolveFile(value) : new File(value) }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (RedirectValueSource.class.isAssignableFrom(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { TextUtils textUtils = TextUtils.getInstance(); ValueSource vs = ValueSources.getInstance().getValueSourceOrStatic(value); if (vs == null) { // better to throw an error here since if there are objects which are based on null/non-null // value of the value source, it is easier to debug pc.addError("Unable to find ValueSource '" + value + "' to wrap in RedirectValueSource at " + pc.getLocator().getSystemId() + " line " + pc.getLocator().getLineNumber() + ". Valid value sources are: " + textUtils.join(ValueSources.getInstance().getAllValueSourceIdentifiers(), ", ")); } try { RedirectValueSource redirectValueSource = (RedirectValueSource) arg.newInstance(); redirectValueSource.setValueSource(vs); m.invoke(parent, new RedirectValueSource[] { redirectValueSource }); } catch (InstantiationException e) { pc.addError("Unable to create RedirectValueSource for '" + value + "' at " + pc.getLocator().getSystemId() + " line " + pc.getLocator().getLineNumber() + ". Valid value sources are: " + textUtils.join(ValueSources.getInstance().getAllValueSourceIdentifiers(), ", ")); } } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (ValueSource.class.equals(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException { TextUtils textUtils = TextUtils.getInstance(); ValueSource vs = ValueSources.getInstance().getValueSourceOrStatic(value); if (vs == null) { // better to throw an error here since if there are objects which are based on null/non-null // value of the value source, it is easier to debug if (pc != null) pc.addError("Unable to create ValueSource for '" + value + "' at " + pc.getLocator().getSystemId() + " line " + pc.getLocator().getLineNumber() + ". Valid value sources are: " + textUtils .join(ValueSources.getInstance().getAllValueSourceIdentifiers(), ", ")); else log.error("Unable to create ValueSource for '" + value + ". Valid value sources are: " + textUtils.join(ValueSources.getInstance().getAllValueSourceIdentifiers(), ", ")); } m.invoke(parent, new ValueSource[] { vs }); } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (Command.class.isAssignableFrom(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException, DataModelException { try { m.invoke(parent, new Command[] { Commands.getInstance().getCommand(value) }); } catch (CommandNotFoundException e) { if (pc != null) { pc.addError("Unable to create Command for '" + value + "' at " + pc.getLocator().getSystemId() + " line " + pc.getLocator().getLineNumber() + "."); if (pc.isThrowErrorException()) throw new DataModelException(pc, e); } else log.error("Unable to create Command for '" + value + "'", e); } } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (XdmEnumeratedAttribute.class.isAssignableFrom(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException, DataModelException { try { XdmEnumeratedAttribute ea = (XdmEnumeratedAttribute) arg.newInstance(); ea.setValue(pc, parent, attrName, value); m.invoke(parent, new XdmEnumeratedAttribute[] { ea }); } catch (InstantiationException ie) { pc.addError(ie); if (pc.isThrowErrorException()) throw new DataModelException(pc, ie); } } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (XdmBitmaskedFlagsAttribute.class.isAssignableFrom(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException, DataModelException { try { XdmBitmaskedFlagsAttribute bfa; NestedCreator creator = (NestedCreator) nestedCreators.get(attrName); if (creator != null) bfa = (XdmBitmaskedFlagsAttribute) creator.create(parent); else bfa = (XdmBitmaskedFlagsAttribute) arg.newInstance(); bfa.setValue(pc, parent, attrName, value); m.invoke(parent, new XdmBitmaskedFlagsAttribute[] { bfa }); } catch (InstantiationException ie) { pc.addError(ie); if (pc.isThrowErrorException()) throw new DataModelException(pc, ie); } } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (Locale.class.isAssignableFrom(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException, DataModelException { String[] items = TextUtils.getInstance().split(value, ",", true); switch (items.length) { case 1: m.invoke(parent, new Locale[] { new Locale(items[0], "") }); break; case 2: m.invoke(parent, new Locale[] { new Locale(items[1], items[2]) }); break; case 3: m.invoke(parent, new Locale[] { new Locale(items[1], items[2], items[3]) }); break; case 4: if (pc != null) throw new DataModelException(pc, "Too many items in Locale constructor."); else log.error("Too many items in Locale constructor: " + value); } } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (ResourceBundle.class.isAssignableFrom(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException, DataModelException { String[] items = TextUtils.getInstance().split(value, ",", true); switch (items.length) { case 1: m.invoke(parent, new ResourceBundle[] { ResourceBundle.getBundle(items[0]) }); break; case 2: m.invoke(parent, new ResourceBundle[] { ResourceBundle.getBundle(items[0], new Locale(items[1], Locale.US.getCountry())) }); break; case 3: m.invoke(parent, new ResourceBundle[] { ResourceBundle.getBundle(items[0], new Locale(items[1], items[2])) }); break; case 4: m.invoke(parent, new ResourceBundle[] { ResourceBundle.getBundle(items[0], new Locale(items[1], items[2], items[3])) }); default: if (pc != null) throw new DataModelException(pc, "Too many items in ResourceBundle constructor."); else log.error("Too many items in Locale constructor: " + value); } } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else if (Properties.class.isAssignableFrom(arg)) { return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException, DataModelException { // when specifying properties the following are valid // <xxx properties="abc.properties"> <!-- load this property file, throw exception if not found --> // <xxx properties="abc.properties:optional"> <!-- load this property file, no exception if not found --> // <xxx properties="/a/b/abc.properties,/x/y/def.properties"> <!-- load the first property file found, throw exception if none found --> // <xxx properties="/a/b/abc.properties,/x/y/def.properties:optional"> <!-- load the first property file found, no exception if none found --> final TextUtils textUtils = TextUtils.getInstance(); final String[] options = textUtils.split(value, ":", true); final String[] fileNames = textUtils.split(value, ",", true); final Properties properties; switch (options.length) { case 1: properties = PropertiesLoader.loadProperties(fileNames, true, false); m.invoke(parent, new Properties[] { properties }); break; case 2: properties = PropertiesLoader.loadProperties(fileNames, options[1].equals("optional") ? false : true, false); if (properties != null) m.invoke(parent, new Properties[] { properties }); break; default: if (pc != null) throw new DataModelException(pc, "Don't know how to get properties from PropertiesLoader: " + value); else log.error("Don't know how to get properties from PropertiesLoader:" + value); } } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } else { // worst case. look for a public String constructor and use it try { final Constructor c = arg.getConstructor(new Class[] { java.lang.String.class }); return new AttributeSetter() { public void set(XdmParseContext pc, Object parent, String value) throws InvocationTargetException, IllegalAccessException, DataModelException { try { Object attribute = c.newInstance(new String[] { value }); m.invoke(parent, new Object[] { attribute }); } catch (InstantiationException ie) { if (pc != null) { pc.addError(ie); if (pc.isThrowErrorException()) throw new DataModelException(pc, ie); } else log.error(ie); } } public boolean isInherited() { return !m.getDeclaringClass().equals(bean); } public Class getDeclaringClass() { return m.getDeclaringClass(); } }; } catch (NoSuchMethodException nme) { } } return null; }
From source file:org.apache.geode.internal.InternalDataSerializer.java
/** * Writes the type code for a primitive type Class to {@code DataOutput}. *///from w ww .j a v a 2 s. c om public static void writePrimitiveClass(Class c, DataOutput out) throws IOException { if (c == Boolean.TYPE) { out.writeByte(BOOLEAN_TYPE); } else if (c == Character.TYPE) { out.writeByte(CHARACTER_TYPE); } else if (c == Byte.TYPE) { out.writeByte(BYTE_TYPE); } else if (c == Short.TYPE) { out.writeByte(SHORT_TYPE); } else if (c == Integer.TYPE) { out.writeByte(INTEGER_TYPE); } else if (c == Long.TYPE) { out.writeByte(LONG_TYPE); } else if (c == Float.TYPE) { out.writeByte(FLOAT_TYPE); } else if (c == Double.TYPE) { out.writeByte(DOUBLE_TYPE); } else if (c == Void.TYPE) { out.writeByte(VOID_TYPE); } else if (c == null) { out.writeByte(NULL); } else { throw new InternalGemFireError(LocalizedStrings.InternalDataSerializer_UNKNOWN_PRIMITIVE_TYPE_0 .toLocalizedString(c.getName())); } }
From source file:org.apache.geode.internal.InternalDataSerializer.java
public static Class decodePrimitiveClass(byte typeCode) { switch (typeCode) { case BOOLEAN_TYPE: return Boolean.TYPE; case CHARACTER_TYPE: return Character.TYPE; case BYTE_TYPE: return Byte.TYPE; case SHORT_TYPE: return Short.TYPE; case INTEGER_TYPE: return Integer.TYPE; case LONG_TYPE: return Long.TYPE; case FLOAT_TYPE: return Float.TYPE; case DOUBLE_TYPE: return Double.TYPE; case VOID_TYPE: return Void.TYPE; case NULL://from w w w .jav a2s .c o m return null; default: throw new InternalGemFireError( LocalizedStrings.InternalDataSerializer_UNEXPECTED_TYPECODE_0.toLocalizedString(typeCode)); } }
From source file:org.fornax.cartridges.sculptor.smartclient.server.ScServlet.java
public Object[] prepareMethodParam(HashMap<String, ? extends Object> jsData, boolean applyNull, String[] paramNames, Class[] parameterTypes) throws ApplicationException { boolean hasMapping = false; Object[] realParams = new Object[paramNames.length]; try {/*from www .j a v a 2 s . c o m*/ hasMapping = true; for (int i = 0; i < parameterTypes.length; i++) { Class<?> paramType = parameterTypes[i]; //Object paramObject=jsData.get(paramNames[i]) == null ? jsData : jsData.get(paramNames[i]); Object paramObject = jsData.get(paramNames[i]); if (paramType.equals(ServiceContext.class)) { realParams[i] = ServiceContextStore.get(); } else if (paramType.equals(PagingParameter.class)) { String sRow = (String) jsData.get("_startRow"); int startRow = sRow == null ? 0 : Integer.parseInt(sRow); String eRow = (String) jsData.get("_endRow"); int endRow = eRow == null ? 0 : Integer.parseInt(eRow); realParams[i] = PagingParameter.rowAccess(startRow, endRow, LOOK_AHEAD); } else if (paramType.equals(String.class)) { realParams[i] = (String) paramObject; } else if (paramType.equals(Integer.class) || paramType.equals(Integer.TYPE)) { realParams[i] = paramObject == null ? null : Integer.parseInt(((String) paramObject).replaceAll("\"", "")); } else if (paramType.equals(Long.class) || paramType.equals(Long.TYPE)) { realParams[i] = paramObject == null ? null : Long.parseLong(((String) paramObject).replaceAll("\"", "")); } else if (paramType.equals(Double.class) || paramType.equals(Double.TYPE)) { realParams[i] = paramObject == null ? null : Double.parseDouble(((String) paramObject).replaceAll("\"", "")); } else if (paramType.equals(Date.class)) { realParams[i] = paramObject == null ? null : dateFormat.parse((String) paramObject); } else if (paramType.equals(Boolean.class) || paramType.equals(Boolean.TYPE)) { realParams[i] = ("true".equals(paramObject)); } else if (paramObject instanceof HashMap || (paramObject == null && jsData instanceof HashMap)) { HashMap<String, Object> objData = (HashMap<String, Object>) (paramObject == null ? jsData : paramObject); ServiceDescription service = findServiceByClassName(paramType.getName()); if (objData.get("id") != null && service != null) { Long id = Long.parseLong((String) objData.get("id")); realParams[i] = service.getFindById().invoke(service.getInstance(), ServiceContextStore.get(), id); } else { realParams[i] = makeNewInstance(paramType, objData); } mapRequestToObj(objData, paramType, realParams[i]); } else if (findServiceByClassName(paramType.getName()) != null) { ServiceDescription service = findServiceByClassName(paramType.getName()); Long recId = Long.parseLong((String) paramObject); realParams[i] = service.getFindById().invoke(service.getInstance(), ServiceContextStore.get(), recId); } else if (Enum.class.isAssignableFrom(paramType)) { try { Method fromValueMethod = paramType.getMethod("fromValue", String.class); realParams[i] = fromValueMethod.invoke(null, paramObject); } catch (Exception ex) { } try { if (realParams[i] == null) { Method valueOfMethod = paramType.getMethod("valueOf", String.class); realParams[i] = valueOfMethod.invoke(null, paramObject); } } catch (Exception ex) { } if (realParams[i] == null) { hasMapping = false; break; } } else if (applyNull) { realParams[i] = null; } else { hasMapping = false; break; } } } catch (ApplicationException appEx) { throw appEx; } catch (Exception ex) { throw new ApplicationException(ex.getMessage(), "ERR9001", ex); } return hasMapping ? realParams : null; }
From source file:org.apache.geode.internal.InternalDataSerializer.java
public static Object basicReadObject(final DataInput in) throws IOException, ClassNotFoundException { checkIn(in);// w w w .j av a 2 s. c o m // Read the header byte byte header = in.readByte(); if (logger.isTraceEnabled(LogMarker.SERIALIZER)) { logger.trace(LogMarker.SERIALIZER, "basicReadObject: header={}", header); } switch (header) { case DS_FIXED_ID_BYTE: return DSFIDFactory.create(in.readByte(), in); case DS_FIXED_ID_SHORT: return DSFIDFactory.create(in.readShort(), in); case DS_FIXED_ID_INT: return DSFIDFactory.create(in.readInt(), in); case DS_NO_FIXED_ID: return readDataSerializableFixedID(in); case NULL: return null; case NULL_STRING: case STRING: case HUGE_STRING: case STRING_BYTES: case HUGE_STRING_BYTES: return readString(in, header); case CLASS: return readClass(in); case DATE: return readDate(in); case FILE: return readFile(in); case INET_ADDRESS: return readInetAddress(in); case BOOLEAN: return readBoolean(in); case CHARACTER: return readCharacter(in); case BYTE: return readByte(in); case SHORT: return readShort(in); case INTEGER: return readInteger(in); case LONG: return readLong(in); case FLOAT: return readFloat(in); case DOUBLE: return readDouble(in); case BYTE_ARRAY: return readByteArray(in); case ARRAY_OF_BYTE_ARRAYS: return readArrayOfByteArrays(in); case SHORT_ARRAY: return readShortArray(in); case STRING_ARRAY: return readStringArray(in); case INT_ARRAY: return readIntArray(in); case LONG_ARRAY: return readLongArray(in); case FLOAT_ARRAY: return readFloatArray(in); case DOUBLE_ARRAY: return readDoubleArray(in); case BOOLEAN_ARRAY: return readBooleanArray(in); case CHAR_ARRAY: return readCharArray(in); case OBJECT_ARRAY: return readObjectArray(in); case ARRAY_LIST: return readArrayList(in); case LINKED_LIST: return readLinkedList(in); case HASH_SET: return readHashSet(in); case LINKED_HASH_SET: return readLinkedHashSet(in); case HASH_MAP: return readHashMap(in); case IDENTITY_HASH_MAP: return readIdentityHashMap(in); case HASH_TABLE: return readHashtable(in); case CONCURRENT_HASH_MAP: return readConcurrentHashMap(in); case PROPERTIES: return readProperties(in); case TIME_UNIT: return readTimeUnit(in); case USER_CLASS: return readUserObject(in, in.readByte()); case USER_CLASS_2: return readUserObject(in, in.readShort()); case USER_CLASS_4: return readUserObject(in, in.readInt()); case VECTOR: return readVector(in); case STACK: return readStack(in); case TREE_MAP: return readTreeMap(in); case TREE_SET: return readTreeSet(in); case BOOLEAN_TYPE: return Boolean.TYPE; case CHARACTER_TYPE: return Character.TYPE; case BYTE_TYPE: return Byte.TYPE; case SHORT_TYPE: return Short.TYPE; case INTEGER_TYPE: return Integer.TYPE; case LONG_TYPE: return Long.TYPE; case FLOAT_TYPE: return Float.TYPE; case DOUBLE_TYPE: return Double.TYPE; case VOID_TYPE: return Void.TYPE; case USER_DATA_SERIALIZABLE: return readUserDataSerializable(in, in.readByte()); case USER_DATA_SERIALIZABLE_2: return readUserDataSerializable(in, in.readShort()); case USER_DATA_SERIALIZABLE_4: return readUserDataSerializable(in, in.readInt()); case DATA_SERIALIZABLE: return readDataSerializable(in); case SERIALIZABLE: { final boolean isDebugEnabled_SERIALIZER = logger.isTraceEnabled(LogMarker.SERIALIZER); Object serializableResult; if (in instanceof DSObjectInputStream) { serializableResult = ((DSObjectInputStream) in).readObject(); } else { InputStream stream; if (in instanceof InputStream) { stream = (InputStream) in; } else { stream = new InputStream() { @Override public int read() throws IOException { try { return in.readUnsignedByte(); // fix for bug 47249 } catch (EOFException ignored) { return -1; } } }; } ObjectInput ois = new DSObjectInputStream(stream); if (stream instanceof VersionedDataStream) { Version v = ((VersionedDataStream) stream).getVersion(); if (v != null && v != Version.CURRENT) { ois = new VersionedObjectInput(ois, v); } } serializableResult = ois.readObject(); if (isDebugEnabled_SERIALIZER) { logger.trace(LogMarker.SERIALIZER, "Read Serializable object: {}", serializableResult); } } if (isDebugEnabled_SERIALIZER) { logger.trace(LogMarker.SERIALIZER, "deserialized instanceof {}", serializableResult.getClass()); } return serializableResult; } case PDX: return readPdxSerializable(in); case PDX_ENUM: return readPdxEnum(in); case GEMFIRE_ENUM: return readGemFireEnum(in); case PDX_INLINE_ENUM: return readPdxInlineEnum(in); case BIG_INTEGER: return readBigInteger(in); case BIG_DECIMAL: return readBigDecimal(in); case UUID: return readUUID(in); case TIMESTAMP: return readTimestamp(in); default: String s = "Unknown header byte: " + header; throw new IOException(s); } }