Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormegumi.telles2017-11-03 14:54:00 +0000
committerMegumi Telles2017-11-07 15:44:49 +0000
commitb18726e54dbdb0f27a1c17e7a231b2ef66f6c86a (patch)
tree9ba38b86706452e81ec21ca3313cbc1e19d78fc7
parentd57c524a8f4d86ed1b664f2f98b7fa1b7ea4d07c (diff)
downloadorg.eclipse.osee-b18726e54dbdb0f27a1c17e7a231b2ef66f6c86a.tar.gz
org.eclipse.osee-b18726e54dbdb0f27a1c17e7a231b2ef66f6c86a.tar.xz
org.eclipse.osee-b18726e54dbdb0f27a1c17e7a231b2ef66f6c86a.zip
bug[ats_TW3497]: Fix Coverage tool Last Time Run
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoApiImpl.java35
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/importer/coverage/LisFileParser.java12
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/util/DispoUtil.java12
3 files changed, 59 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoApiImpl.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoApiImpl.java
index 58f1dd610e7..fe4fe5b6594 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoApiImpl.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoApiImpl.java
@@ -48,6 +48,7 @@ import org.eclipse.osee.framework.core.data.BranchId;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
import org.eclipse.osee.framework.jdk.core.util.Collections;
+import org.eclipse.osee.framework.jdk.core.util.Conditions;
import org.eclipse.osee.logger.Log;
import org.eclipse.osee.orcs.data.ArtifactReadable;
@@ -169,6 +170,7 @@ public class DispoApiImpl implements DispoApi {
ArtifactReadable author = getQuery().findUser();
DispoStorageMetadata metadata = new DispoStorageMetadata();
+
getWriter().updateDispoItem(author, branch, dispoItem.getGuid(), updatedItem, metadata);
if (!metadata.getIdsOfUpdatedItems().isEmpty()) {
updateBroadcaster.broadcastUpdateItems(metadata.getIdsOfUpdatedItems(), singleton(dispoItem),
@@ -208,6 +210,14 @@ public class DispoApiImpl implements DispoApi {
if (dispoItemToEdit != null && newDispoItem.getAnnotationsList() == null && newDispoItem.getDiscrepanciesList() == null) { // We will not allow the user to do mass edit of Annotations or discrepancies
ArtifactReadable author = getQuery().findUser();
DispoStorageMetadata metadata = new DispoStorageMetadata();
+
+ try {
+ Date date = DispoUtil.getTimestampOfFile(getFullFilePathFromDispoItemId(branch, itemId, dispoItemToEdit));
+ newDispoItem.setLastUpdate(date);
+ } catch (Throwable ex) {
+ throw new OseeCoreException(ex);
+ }
+
getWriter().updateDispoItem(author, branch, dispoItemToEdit.getGuid(), newDispoItem, metadata);
if (!metadata.getIdsOfUpdatedItems().isEmpty()) {
updateBroadcaster.broadcastUpdateItems(metadata.getIdsOfUpdatedItems(), singleton(newDispoItem),
@@ -218,6 +228,23 @@ public class DispoApiImpl implements DispoApi {
return wasUpdated;
}
+ private String getFullFilePathFromDispoItemId(BranchId branch, String itemId, DispoItem dispoItemToEdit) {
+ Conditions.notNull(dispoItemToEdit);
+ Conditions.notNull(branch);
+ Conditions.notNull(itemId);
+
+ Long set = getQuery().getDispoItemParentSet(branch, itemId);
+ if (set != null) {
+ DispoSet dispoSet = getQuery().findDispoSetsById(branch, String.valueOf(set));
+ if (dispoSet != null) {
+ String importPath = dispoSet.getImportPath();
+ String name = dispoItemToEdit.getName().replaceAll(config.getFileExtRegex(), ".LIS");
+ return importPath + File.separator + "vcast" + File.separator + name;
+ }
+ }
+ return "";
+ }
+
@Override
public boolean massEditTeam(BranchId branch, String setId, List<String> itemNames, String team, String operation) {
boolean wasUpdated = false;
@@ -330,6 +357,14 @@ public class DispoApiImpl implements DispoApi {
modifiedDispoItem.setStatus(dispoConnector.getItemStatus(modifiedDispoItem));
DispoStorageMetadata metadata = new DispoStorageMetadata();
+
+ try {
+ Date date = DispoUtil.getTimestampOfFile(getFullFilePathFromDispoItemId(branch, itemId, dispoItem));
+ modifiedDispoItem.setLastUpdate(date);
+ } catch (Throwable ex) {
+ throw new OseeCoreException(ex);
+ }
+
getWriter().updateDispoItem(author, branch, dispoItem.getGuid(), modifiedDispoItem, metadata);
if (!metadata.getIdsOfUpdatedItems().isEmpty()) {
updateBroadcaster.broadcastUpdateItems(metadata.getIdsOfUpdatedItems(), singleton(modifiedDispoItem),
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/importer/coverage/LisFileParser.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/importer/coverage/LisFileParser.java
index c67f81f1a57..7bf775f8a70 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/importer/coverage/LisFileParser.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/importer/coverage/LisFileParser.java
@@ -20,6 +20,7 @@ import java.io.FileReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -38,6 +39,7 @@ import org.eclipse.osee.disposition.rest.DispoImporterApi;
import org.eclipse.osee.disposition.rest.internal.DispoConnector;
import org.eclipse.osee.disposition.rest.internal.DispoDataFactory;
import org.eclipse.osee.disposition.rest.internal.importer.DispoSetCopier;
+import org.eclipse.osee.disposition.rest.util.DispoUtil;
import org.eclipse.osee.framework.core.util.Result;
import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
import org.eclipse.osee.framework.jdk.core.type.Pair;
@@ -257,6 +259,16 @@ public class LisFileParser implements DispoImporterApi {
newItem.setFileNumber(Integer.toString(fileNum));
newItem.setMethodNumber(Integer.toString(functionNum));
+ try {
+ Date lastModified = DispoUtil.getTimestampOfFile(lisFile.getLISFile());
+ newItem.setLastUpdate(lastModified);
+ } catch (Throwable ex) {
+ report.addEntry("Get Timestamp of File",
+ String.format("Error retrieving the timestamp for [%s]. Error Message: [%s]", instrumentedFile.getId(),
+ ex.getMessage()),
+ ERROR);
+ }
+
String datId = generateDatId(fileNum, functionNum);
datIdToItem.put(datId, newItem);
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/util/DispoUtil.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/util/DispoUtil.java
index 7dacbf3ab33..78de6ed7a06 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/util/DispoUtil.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/util/DispoUtil.java
@@ -10,8 +10,10 @@
*******************************************************************************/
package org.eclipse.osee.disposition.rest.util;
+import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
@@ -518,4 +520,14 @@ public final class DispoUtil {
return toReturn;
}
+
+ public static Date getTimestampOfFile(String fullPathFileName) {
+ Date date = new Date(0);
+ File f = new File(fullPathFileName);
+ if (f.exists()) {
+ long lastModified = f.lastModified();
+ date = new Date(lastModified);
+ }
+ return date;
+ }
}

Back to the top