Author: [log in to unmask]
Date: Mon Jan 4 10:56:39 2016
New Revision: 4078
Log:
Cleanup building of new dataset; other minor changes.
Modified:
java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/CrawlerFileVisitor.java
java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DataType.java
java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatCrawler.java
java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatHelper.java
Modified: java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/CrawlerFileVisitor.java
=============================================================================
--- java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/CrawlerFileVisitor.java (original)
+++ java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/CrawlerFileVisitor.java Mon Jan 4 10:56:39 2016
@@ -10,7 +10,7 @@
import java.util.List;
/**
- * Visitor which creates a {@link FileSet} from walking a directory tree.
+ * Visitor which creates a list of files from walking a directory tree.
* <p>
* Any number of {@link java.io.FileFilter} objects can be registered with this visitor to restrict which files are
* accepted.
@@ -20,12 +20,12 @@
final class CrawlerFileVisitor extends SimpleFileVisitor<Path> {
/**
- * The run log containing information about files from each run.
+ * The list of files found from crawling.
*/
private final List<File> files = new ArrayList<File>();
/**
- * A list of file filters to apply.
+ * A list of file filters applied to each path.
*/
private final List<FileFilter> filters = new ArrayList<FileFilter>();
Modified: java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DataType.java
=============================================================================
--- java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DataType.java (original)
+++ java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DataType.java Mon Jan 4 10:56:39 2016
@@ -7,7 +7,7 @@
*/
public enum DataType {
/**
- * Data quality management plots.
+ * Data quality management plots (AIDA or ROOT).
*/
DQM,
/**
@@ -15,7 +15,7 @@
*/
RAW,
/**
- * Reconstructed data (usually LCIO).
+ * Reconstructed data (LCIO).
*/
RECON,
/**
Modified: java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatCrawler.java
=============================================================================
--- java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatCrawler.java (original)
+++ java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatCrawler.java Mon Jan 4 10:56:39 2016
@@ -2,7 +2,6 @@
import java.io.File;
import java.io.IOException;
-import java.net.URISyntaxException;
import java.nio.file.FileVisitOption;
import java.nio.file.Files;
import java.nio.file.attribute.BasicFileAttributes;
@@ -19,8 +18,6 @@
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
-import org.srs.datacat.client.Client;
-import org.srs.datacat.client.ClientBuilder;
import org.srs.datacat.model.DatasetModel;
/**
@@ -57,7 +54,6 @@
* Statically define the command options.
*/
static {
- OPTIONS.addOption("L", "log-level", true, "set the log level (INFO, FINE, etc.)");
OPTIONS.addOption("b", "min-date", true, "min date for a file (example \"2015-03-26 11:28:59\")");
OPTIONS.addOption("d", "directory", true, "root directory to crawl");
OPTIONS.addOption("f", "folder", true, "datacat folder");
@@ -108,13 +104,6 @@
// Print help.
if (cl.hasOption("h") || args.length == 0) {
this.printUsage();
- }
-
- // Log level (only used for this class's logger).
- if (cl.hasOption("L")) {
- final Level level = Level.parse(cl.getOptionValue("L"));
- LOGGER.config("log level " + level);
- LOGGER.setLevel(level);
}
// Root directory for file crawling.
@@ -217,6 +206,18 @@
}
config.setAcceptRuns(acceptRuns);
}
+
+ // Dry run.
+ if (cl.hasOption("D")) {
+ config.setDryRun(true);
+ }
+
+ // List of paths.
+ if (!cl.getArgList().isEmpty()) {
+ for (String arg : cl.getArgList()) {
+ config.addPath(arg);
+ }
+ }
// Dataset site (defaults to JLAB).
Site site = Site.JLAB;
@@ -226,22 +227,10 @@
LOGGER.config("dataset site " + site);
config.setSite(site);
- // Dry run.
- if (cl.hasOption("D")) {
- config.setDryRun(true);
- }
-
// Data catalog URL.
if (cl.hasOption("u")) {
config.setDatacatUrl(cl.getOptionValue("u"));
LOGGER.config("datacat URL " + config.datacatUrl());
- }
-
- // List of paths.
- if (!cl.getArgList().isEmpty()) {
- for (String arg : cl.getArgList()) {
- config.addPath(arg);
- }
}
} catch (final ParseException e) {
Modified: java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatHelper.java
=============================================================================
--- java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatHelper.java (original)
+++ java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatHelper.java Mon Jan 4 10:56:39 2016
@@ -14,6 +14,7 @@
import org.srs.datacat.client.Client;
import org.srs.datacat.client.ClientBuilder;
import org.srs.datacat.model.DatasetModel;
+import org.srs.datacat.model.DatasetView.VersionId;
import org.srs.datacat.shared.Dataset;
import org.srs.datacat.shared.Provider;
@@ -183,27 +184,37 @@
String dataType,
String fileFormat) {
- Provider provider = new Provider();
- List<DatasetModel> datasets = new ArrayList<DatasetModel>();
-
+ Provider provider = new Provider();
Dataset.Builder datasetBuilder = provider.getDatasetBuilder();
- datasetBuilder.versionId(1);
- datasetBuilder.master(true);
- datasetBuilder.name(file.getName());
- datasetBuilder.resource(file.getPath());
- datasetBuilder.size((Long) metadata.get("size"));
- datasetBuilder.scanStatus("OK");
- datasetBuilder.dataType(dataType);
- datasetBuilder.fileFormat(fileFormat);
- datasetBuilder.site(site);
+
+ // Set basic info on new dataset.
+ datasetBuilder.versionId(VersionId.valueOf("new"))
+ .master(true)
+ .name(file.getName())
+ .resource(file.getPath())
+ .dataType(dataType)
+ .fileFormat(fileFormat)
+ .site(site)
+ .scanStatus("OK");
+
+ // Set system metadata from the provided metadata map.
if (metadata.get("eventCount") != null) {
datasetBuilder.eventCount((Long) metadata.get("eventCount"));
}
- datasetBuilder.runMin((Long) metadata.get("runMin"));
- datasetBuilder.runMax((Long) metadata.get("runMax"));
- datasetBuilder.checksum((String) metadata.get("checksum"));
-
- // Create user metadata leaving out system metadata fields.
+ if (metadata.get("checksum") != null) {
+ datasetBuilder.checksum((String) metadata.get("checksum"));
+ }
+ if (metadata.get("runMin") != null) {
+ datasetBuilder.runMin((Long) metadata.get("runMin"));
+ }
+ if (metadata.get("runMax") != null) {
+ datasetBuilder.runMax((Long) metadata.get("runMax"));
+ }
+ if (metadata.get("size") != null) {
+ datasetBuilder.size((Long) metadata.get("size"));
+ }
+
+ // Create user metadata, leaving out system metadata fields.
Map<String, Object> userMetadata = new HashMap<String, Object>();
for (Entry<String, Object> metadataEntry : metadata.entrySet()) {
if (!SYSTEM_METADATA.contains(metadataEntry.getKey())) {
@@ -212,11 +223,7 @@
}
datasetBuilder.versionMetadata(userMetadata);
- // Build dataset and add to list.
- DatasetModel dataset = datasetBuilder.build();
- datasets.add(dataset);
-
- return dataset;
+ return datasetBuilder.build();
}
/**
|