public MetadataHandler(Metadata metadata, Property property) { this.metadata = metadata; this.property = property; this.name = property.getName(); }
protected AbstractMetadataHandler(Metadata metadata, Property property) { this.metadata = metadata; this.property = property; this.name = property.getName(); }
/** * Returns true if named value is multivalued. * * @param property * metadata property * @return true is named value is multivalued, false if single value or null */ public boolean isMultiValued(final Property property) { return metadata.get(property.getName()) != null && metadata.get(property.getName()).length > 1; }
/** * @see org.apache.tika.xmp.XMPMetadata#getValues(java.lang.String) */ @Override public String[] getValues(Property property) { return this.getValues( property.getName() ); }
/** * @see org.apache.tika.xmp.XMPMetadata#isMultiValued(java.lang.String) */ @Override public boolean isMultiValued(Property property) { return this.isMultiValued( property.getName() ); }
/** * @see org.apache.tika.xmp.XMPMetadata#get(java.lang.String) */ @Override public String get(Property property) { return this.get( property.getName() ); }
/** * @see org.apache.tika.xmp.XMPMetadata#set(java.lang.String, java.lang.String) */ @Override public void set(Property property, String value) { this.set( property.getName(), value ); }
/** * @see org.apache.tika.xmp.XMPMetadata#remove(java.lang.String) */ public void remove(Property property) { this.remove( property.getName() ); }
/** * @see AbstractConverter#createLangAltProperty(String, String, String) */ protected void createLangAltProperty(Property metadataProperty, String ns, String propertyName) throws XMPException { createLangAltProperty( metadataProperty.getName(), ns, propertyName ); }
/** * Returns the value (if any) of the identified metadata property. * * @since Apache Tika 0.7 * @param property property definition * @return property value, or <code>null</code> if the property is not set */ public String get(Property property) { return get(property.getName()); }
/** * Get the values associated to a metadata name. * * @param property * of the metadata. * @return the values associated to a metadata name. */ public String[] getValues(final Property property) { return _getValues(property.getName()); }
/** * @see AbstractConverter#createProperty(String, String, String) */ protected void createProperty(Property metadataProperty, String ns, String propertyName) throws XMPException { createProperty( metadataProperty.getName(), ns, propertyName ); }
private static <T> void setMeta(String filename, Metadata metadata, Property property, Consumer<T> setter, Function<String,T> transformer) { String sMeta = metadata.get(property); try { setter.accept(transformer.apply(sMeta)); } catch (Exception e) { logger.warn("Can not parse meta [{}] for [{}]. Skipping [{}] field...", sMeta, filename, property.getName()); } }
protected void createArrayProperty(Property metadataProperty, String nsDc, String arrayProperty, int arrayType) throws XMPException { createArrayProperty( metadataProperty.getName(), nsDc, arrayProperty, arrayType ); }
protected void createCommaSeparatedArray(Property metadataProperty, String nsDc, String arrayProperty, int arrayType) throws XMPException { createCommaSeparatedArray( metadataProperty.getName(), nsDc, arrayProperty, arrayType ); }
/** * @see org.apache.tika.xmp.XMPMetadata#get(java.lang.String) */ @Override public Integer getInt(Property property) { Integer result = null; try { result = new Integer( XMPUtils.convertToInteger( this.get( property.getName() ) ) ); } catch (XMPException e) { // Ignore } return result; }
private void addAttribute(final String namespace, final Property property, final Metadata md, final Document doc) { if (md.get(property) != null) { doc.add(text(namespace + property.getName(), md.get(property), false)); } }
@Test public void testSetAll() { Properties props = new Properties(); props.put( TikaCoreProperties.FORMAT.getName(), "format" ); props.put( TikaCoreProperties.SUBJECT.getName(), "keyword" ); xmpMeta.setAll( props ); assertEquals( "format", xmpMeta.get( TikaCoreProperties.FORMAT ) ); String[] values = xmpMeta.getValues( TikaCoreProperties.SUBJECT); assertEquals( 1, values.length ); assertEquals( "keyword", values[0] ); }
@Test public void testGetField_Author_TEXT_Partial_Found() throws Exception { InputStream stream = ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_DOC); Response response = WebClient.create(endPoint + META_PATH + "/"+TikaCoreProperties.CREATOR.getName()) .type("application/msword") .accept(MediaType.TEXT_PLAIN).put(copy(stream, 12000)); Assert.assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); String s = IOUtils.readStringFromStream((InputStream) response.getEntity()); assertEquals("Maxim Valyanskiy", s); }
@Test public void testGetField_Author_JSON_Partial_Found() throws Exception { InputStream stream = ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_DOC); Response response = WebClient.create(endPoint + META_PATH + "/"+TikaCoreProperties.CREATOR.getName()) .type("application/msword") .accept(MediaType.APPLICATION_JSON).put(copy(stream, 12000)); Assert.assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); Metadata metadata = JsonMetadata.fromJson(new InputStreamReader( (InputStream) response.getEntity(), UTF_8)); assertEquals("Maxim Valyanskiy", metadata.get(TikaCoreProperties.CREATOR)); assertEquals(1, metadata.names().length); }