diff options
author | megumi.telles | 2017-11-03 14:54:00 +0000 |
---|---|---|
committer | Megumi Telles | 2017-11-07 15:44:49 +0000 |
commit | b18726e54dbdb0f27a1c17e7a231b2ef66f6c86a (patch) | |
tree | 9ba38b86706452e81ec21ca3313cbc1e19d78fc7 | |
parent | d57c524a8f4d86ed1b664f2f98b7fa1b7ea4d07c (diff) | |
download | org.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
Change-Id: I560d57abeeb1036bebc599bc9734055985535a14
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; + } } |