Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.orcs.rest/src/org/eclipse/osee/orcs/rest/internal/writer/OrcsWriterSheetProcessorForDelete.java')
-rw-r--r--plugins/org.eclipse.osee.orcs.rest/src/org/eclipse/osee/orcs/rest/internal/writer/OrcsWriterSheetProcessorForDelete.java88
1 files changed, 88 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.orcs.rest/src/org/eclipse/osee/orcs/rest/internal/writer/OrcsWriterSheetProcessorForDelete.java b/plugins/org.eclipse.osee.orcs.rest/src/org/eclipse/osee/orcs/rest/internal/writer/OrcsWriterSheetProcessorForDelete.java
new file mode 100644
index 00000000000..9f51472d1fb
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.rest/src/org/eclipse/osee/orcs/rest/internal/writer/OrcsWriterSheetProcessorForDelete.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.rest.internal.writer;
+
+import org.eclipse.osee.framework.core.util.XResultData;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.jdk.core.util.io.xml.RowProcessor;
+import org.eclipse.osee.orcs.rest.model.writer.reader.OwArtifactToken;
+import org.eclipse.osee.orcs.rest.model.writer.reader.OwCollector;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class OrcsWriterSheetProcessorForDelete implements RowProcessor {
+
+ private final OwCollector collector;
+ private int rowCount = 0;
+ private final OrcsWriterFactory factory;
+ private final XResultData result;
+
+ public OrcsWriterSheetProcessorForDelete(OwCollector collector, XResultData result) {
+ this.collector = collector;
+ this.result = result;
+ this.factory = new OrcsWriterFactory(collector);
+ }
+
+ @Override
+ public void detectedRowAndColumnCounts(int rowCount, int columnCount) {
+ // do nothing
+ }
+
+ @Override
+ public void foundStartOfWorksheet(String sheetName) throws OseeCoreException {
+ // do nothing
+ }
+
+ @Override
+ public void processCommentRow(String[] row) {
+ // do nothing
+ }
+
+ @Override
+ public void processEmptyRow() {
+ // do nothing
+ }
+
+ @Override
+ public void processHeaderRow(String[] headerRow) {
+ rowCount++;
+ if (headerRow.length > 1) {
+ result.warning("More than 1 column found in DELETE sheet. Only column 1 is processed");
+ }
+ }
+
+ @Override
+ public void processRow(String[] row) throws OseeCoreException {
+ rowCount++;
+ OwArtifactToken artifact = null;
+ String value = row[0];
+ if (Strings.isNumeric(value)) {
+ artifact = new OwArtifactToken();
+ artifact.setUuid(Long.valueOf(value));
+ artifact.setName("unknown");
+ }
+ if (Strings.isValid(value)) {
+ artifact = factory.getOrCreateToken(value);
+ }
+ if (artifact != null) {
+ artifact.setData("Row " + rowCount);
+ collector.getDelete().add(artifact);
+ }
+ }
+
+ @Override
+ public void reachedEndOfWorksheet() {
+ // do nothing
+ }
+
+}

Back to the top