001/** 002 * The contents of this file are subject to the license and copyright 003 * detailed in the LICENSE and NOTICE files at the root of the source 004 * tree. 005 * 006 */ 007package org.fcrepo.migration.handlers; 008 009import org.fcrepo.migration.DatastreamVersion; 010import org.fcrepo.migration.ObjectInfo; 011import org.fcrepo.migration.ObjectProperties; 012import org.fcrepo.migration.ObjectProperty; 013import org.fcrepo.migration.StreamingFedoraObjectHandler; 014 015/** 016 * A simple StreamingFedoraObjectHandler implementation that simply outputs information 017 * to the console. This is likely only useful for debugging or testing other 018 * code. 019 * @author mdurbin 020 */ 021public class ConsoleLoggingStreamingFedoraObjectHandler implements StreamingFedoraObjectHandler { 022 023 private long start; 024 025 @Override 026 public void beginObject(final ObjectInfo object) { 027 start = System.currentTimeMillis(); 028 System.out.println(object.getPid()); 029 } 030 031 @Override 032 public void processObjectProperties(final ObjectProperties properties) { 033 System.out.println(" Properties"); 034 for (final ObjectProperty p : properties.listProperties()) { 035 System.out.println(" " + p.getName() + " = " + p.getValue()); 036 } 037 } 038 039 @Override 040 public void processDatastreamVersion(final DatastreamVersion dsVersion) { 041 System.out.println(" " + dsVersion.getDatastreamInfo().getDatastreamId() + " version " 042 + dsVersion.getVersionId()); 043 } 044 045 @Override 046 public void completeObject(final ObjectInfo object) { 047 System.out.println(object.getPid() + " parsed in " + (System.currentTimeMillis() - start) + "ms."); 048 } 049 050 @Override 051 public void abortObject(final ObjectInfo object) { 052 System.out.println(object.getPid() + " failed to parse in " + (System.currentTimeMillis() - start) + "ms."); 053 } 054}