Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjphillips2008-12-18 22:35:45 +0000
committerjphillips2008-12-18 22:35:45 +0000
commit52eee1e5b38a0abed6c90c3b01ba9a88fd81d319 (patch)
treea85f9ecd0e4bd6316f409e3c1e259a3e039fcae9
parent64e461ab0b9535107f63ae28ec654634b2c77c9e (diff)
downloadorg.eclipse.osee-52eee1e5b38a0abed6c90c3b01ba9a88fd81d319.tar.gz
org.eclipse.osee-52eee1e5b38a0abed6c90c3b01ba9a88fd81d319.tar.xz
org.eclipse.osee-52eee1e5b38a0abed6c90c3b01ba9a88fd81d319.zip
-rw-r--r--org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/PublishRequirements.java27
-rw-r--r--org.eclipse.osee.framework.resource.management/OseeApplicationServer [postgresql localhost].launch50
-rw-r--r--org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java12
-rw-r--r--org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java50
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/IVbaDiffGenerator.java2
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/VbaWordDiffGenerator.java31
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/WholeDocumentRenderer.java4
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/WordTemplateRenderer.java70
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/word/ButtonWordMlCreator.java91
9 files changed, 137 insertions, 200 deletions
diff --git a/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/PublishRequirements.java b/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/PublishRequirements.java
index ea385f96e2d..dff82c122cf 100644
--- a/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/PublishRequirements.java
+++ b/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/PublishRequirements.java
@@ -13,8 +13,10 @@ package org.eclipse.osee.define.blam.operation;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
+import java.util.Set;
import java.util.logging.Level;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.osee.define.DefinePlugin;
@@ -85,7 +87,7 @@ public class PublishRequirements extends AbstractBlam {
ArrayList<Artifact> nonFolderChildren = new ArrayList<Artifact>();
if (artifact.isOfType("Folder")) {
- for (Artifact child : artifact.getChildren()) {
+ for (Artifact child : artifact.getChildren(true)) {
if (child.isOfType("Folder")) {
publish(monitor, child, options);
} else {
@@ -105,8 +107,22 @@ public class PublishRequirements extends AbstractBlam {
}
nonFolderChildren = buildRecursiveList(nonFolderChildren);
int transactionId = BranchManager.getBranchTransaction(date, branch.getBranchId());
- RendererManager.diffInJob(getOlderArtifacts(nonFolderChildren, transactionId, branch.getBranchId()),
- nonFolderChildren, options);
+ ArrayList<Artifact> olderArtifacts = getOlderArtifacts(nonFolderChildren, transactionId, branch.getBranchId());
+ int index = 0;
+ for (Artifact art : olderArtifacts) {
+ if (art != null && art.isDeleted()) {
+ olderArtifacts.set(index, null);
+ }
+ index++;
+ }
+ index = 0;
+ for (Artifact art : nonFolderChildren) {
+ if (art != null && art.isDeleted()) {
+ nonFolderChildren.set(index, null);
+ }
+ index++;
+ }
+ RendererManager.diffInJob(olderArtifacts, nonFolderChildren, options);
} else {
RendererManager.preview(nonFolderChildren, monitor, options);
}
@@ -131,8 +147,9 @@ public class PublishRequirements extends AbstractBlam {
int queryId = ArtifactLoader.getNewQueryId();
Timestamp insertTime = GlobalTime.GreenwichMeanTimestamp();
+ Set<Artifact> artifactSet = new HashSet<Artifact>(artifacts);
List<Object[]> insertParameters = new LinkedList<Object[]>();
- for (Artifact artifact : artifacts) {
+ for (Artifact artifact : artifactSet) {
insertParameters.add(new Object[] {queryId, insertTime, artifact.getArtId(), branchId, transactionId});
}
ArtifactLoader.loadArtifacts(queryId, ArtifactLoad.FULL, null, insertParameters, false, true, true);
@@ -152,7 +169,7 @@ public class PublishRequirements extends AbstractBlam {
}
private void addChildren(ArrayList<Artifact> artifacts, Artifact artifact) throws OseeCoreException {
- for (Artifact loopArtifact : artifact.getChildren()) {
+ for (Artifact loopArtifact : artifact.getChildren(true)) {
artifacts.add(loopArtifact);
addChildren(artifacts, loopArtifact);
}
diff --git a/org.eclipse.osee.framework.resource.management/OseeApplicationServer [postgresql localhost].launch b/org.eclipse.osee.framework.resource.management/OseeApplicationServer [postgresql localhost].launch
index d9499c6d0cd..31317601dbe 100644
--- a/org.eclipse.osee.framework.resource.management/OseeApplicationServer [postgresql localhost].launch
+++ b/org.eclipse.osee.framework.resource.management/OseeApplicationServer [postgresql localhost].launch
@@ -1,25 +1,25 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bad_container_name" value="\sampleOsgiServletSample\s"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/OseeApplicationServer [postgresql localhost]"/>
-<booleanAttribute key="default_auto_start" value="true"/>
-<intAttribute key="default_start_level" value="4"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.osee.framework.oracle,oracle.driver"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dosee.log.default=INFO&#13;&#10;-Declipse.ignoreApp=true&#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Dequinox.ds.debug=true&#13;&#10;-Dorg.osgi.service.http.port=8089&#13;&#10;-Dosee.db.connection.id=postgresqlLocalhost"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.databinding@default:default,org.eclipse.equinox.preferences@default:default,javax.servlet.jsp@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.equinox.app@default:default,org.eclipse.swt.gtk.solaris.sparc@default:false,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:default,org.eclipse.jface@default:default,com.ibm.icu@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.util@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.ui@default:default,org.eclipse.help@default:default,org.eclipse.osgi.services@default:default,org.junit4@default:default,org.eclipse.swt@default:default,org.eclipse.equinox.http.servlet@default:default,org.junit@default:default,org.eclipse.equinox.common@default:default,org.eclipse.core.commands@default:default,org.mortbay.jetty@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.ds@default:default,org.eclipse.osgi@:,javax.servlet@default:default,org.apache.commons.logging@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.core.expressions@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.osee.framework.postgresql@default:default,org.eclipse.osee.framework.resource.management.servlet@default:default,org.eclipse.osee.framework.resource.locator.attribute@default:default,org.eclipse.osee.framework.resource.provider.common@default:default,org.eclipse.osee.framework.core.server@default:default,org.postgresql.driver@default:default,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.db.connection@default:default,org.eclipse.osee.framework.artifact.servlet@default:default,org.eclipse.osee.framework.resource.provider.snapshot@default:default,org.eclipse.osee.framework.branch.management.servlet@default:default,xFixIt@default:default,org.eclipse.osee.framework.client.info.servlet@default:default,org.eclipse.osee.framework.search.engine.servlet@default:default,org.eclipse.osee.framework.resource.provider.attribute@default:default,lba.db.connection@default:default,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.session.management.servlet@default:default,org.eclipse.osee.framework.search.engine@default:default,org.eclipse.osee.framework.server.admin@default:default,org.eclipse.osee.framework.resource.management@default:default,org.eclipse.osee.framework.server.lookup.servlet@default:default,org.eclipse.osee.framework.branch.management@default:default,org.eclipse.osee.framework.resource.locator.snapshot@default:default"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bad_container_name" value="\sampleOsgiServletSample\s"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/OseeApplicationServer [postgresql localhost]"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.osee.framework.oracle,oracle.driver"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dosee.log.default=INFO&#13;&#10;-Declipse.ignoreApp=true&#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Dequinox.ds.debug=true&#13;&#10;-Dorg.osgi.service.http.port=8089&#13;&#10;-Dosee.db.connection.id=postgresqlLocalhost"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="target_bundles" value="javax.servlet.jsp@default:default,org.eclipse.jface@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.ds@default:default,org.mortbay.jetty@default:default,org.eclipse.help@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.equinox.http.servlet@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.ui@default:default,org.junit@default:default,javax.servlet@default:default,com.ibm.icu@default:default,org.eclipse.equinox.util@default:default,org.eclipse.core.runtime@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.osgi@:,org.eclipse.core.jobs@default:default,org.eclipse.jface.databinding@default:default,org.junit4@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.apache.commons.logging@default:default,org.eclipse.swt@default:default,org.eclipse.osgi.services@default:default"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<stringAttribute key="workspace_bundles" value="org.eclipse.osee.ote.core@default:default,org.eclipse.osee.ote.ui.define@default:default,lba.ote.message.support@default:default,org.eclipse.osee.framework.ui.skynet.test@default:false,lba.test.support.libraries@default:default,org.eclipse.osee.define@default:default,org.eclipse.osee.framework.branch.management@default:default,lba.ats.config.process@default:default,lba.ote.tools@default:default,org.eclipse.osee.framework.jdbcodbc@default:default,org.eclipse.osee.ats.config.demo@default:default,org.eclipse.osee.framework.templates@default:default,org.eclipse.osee.framework.resource.locator.attribute@default:default,org.eclipse.osee.ote.ui.host.cmd@default:default,org.eclipse.osee.framework.skynet.core@default:default,org.eclipse.osee.framework.ui.service.control@default:default,lba.ote.result.upload*1.0.0.qualifier@default:default,lba.feature.source@default:default,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.svn@default:default,org.eclipse.osee.framework.resource.management.servlet@default:default,org.eclipse.osee.framework.ui.skynet.zest@default:default,org.eclipse.osee.framework.ui.skynet@default:default,org.eclipse.nebula.widgets.calendarcombo@default:default,org.eclipse.osee.framework.branch.management.servlet@default:default,com.lowagie@default:default,org.eclipse.osee.framework.resource.locator.attribute.test@default:default,org.eclipse.osee.framework.ui.swt@default:default,org.eclipse.osee.framework.resource.locator.snapshot@default:default,lba.ote.test.manager@default:default,lba.define@default:default,org.postgresql.driver@default:default,org.eclipse.osee.ats.feature.source@default:default,org.eclipse.osee.framework.logging.test@default:default,org.eclipse.osee.framework.antsupport@default:default,lba.ats.config.common.test@default:false,org.eclipse.osee.framework.resource.management.test@default:default,lba.ote.projectsets.three.four@default:default,org.eclipse.osee.framework.postgresql@default:default,lba.ats.config.blk3.mp@default:default,org.eclipse.osee.framework.jini@default:default,org.eclipse.osee.framework.ui.admin@default:default,org.eclipse.osee.ote.connection.service@default:default,org.eclipse.osee.framework.ui.jdk@default:default,org.apache.commons.net@default:default,lba.ote.client.ui@default:default,lba.utility.ada.editor@default:default,org.eclipse.osee.framework.skynet.core.test@default:default,external.osee.xslt.transform.engine@default:default,lba.ats.config.osee@default:default,lba.ats.config.v13.processor@default:default,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.ote.ui.message@default:default,net.jini@default:default,org.eclipse.osee.framework.resource.locator.snapshot.test@default:default,org.eclipse.osee.ote.messaging.dds@default:default,org.eclipse.osee.framework.resource.management.servlet.test@default:default,org.eclipse.osee.framework.ui.security@default:default,lba.ote.autoGen.testGen@default:default,org.eclipse.osee.framework.artifact.servlet@default:default,lba.ote.server@default:default,org.eclipse.osee.framework.ui.feature.source@default:default,org.eclipse.osee.ote.connection.jini@default:default,lba.ote.shared.memory@default:default,org.eclipse.osee.framework.derby@default:default,org.eclipse.osee.framework.core.server@default:default,org.eclipse.osee.ote.ui.test.manager@default:default,org.eclipse.osee.framework.resource.provider.snapshot@default:default,org.eclipse.osee.ote.ui.markers@default:default,org.eclipse.osee.ote.ui.mux@default:default,org.eclipse.osee.ote.ui.test.output@default:default,lba.ote.msg.gen@default:default,lba.db.connection@default:default,org.eclipse.osee.ote.client@default:default,org.eclipse.osee.ote.feature.source@default:default,org.eclipse.osee.ote.define@default:default,org.eclipse.osee.framework.server.lookup.servlet@default:default,org.eclipse.osee.framework.ui.plugin@default:default,lba.help@default:default,lba.ote.config.sun@default:default,org.eclipse.osee.framework.search.engine.servlet@default:default,org.tigris.subversion.svnant@default:default,lba.ats.config.tools@default:default,lba.ote.result.upload*1.0.0.qualifier@default:default,org.eclipse.osee.ote.message@default:default,org.eclipse.osee.framework.updater@default:default,org.eclipse.osee.demo.db.connection@default:default,org.eclipse.zest.layouts@default:default,org.eclipse.osee.framework.ui.encrypter@default:default,lba.ote.core@default:default,org.eclipse.osee.framework.search.engine@default:default,lba.tte@default:default,org.eclipse.zest.core@default:default,org.eclipse.osee.framework.core.client@default:default,org.eclipse.osee.framework.plugin.core@default:default,lba.skynet.config@default:default,org.eclipse.osee.ote.ui.output@default:default,org.eclipse.osee.framework.resource.provider.attribute@default:default,org.eclipse.osee.framework.db.connection@default:default,org.eclipse.osee.framework.resource.management@default:default,org.eclipse.osee.framework.session.management.servlet@default:default,org.eclipse.osee.framework.client.info.servlet@default:default,jakarta.commons.net@default:default,org.eclipse.osee.framework.osgitest@default:default,lba.ote.crewinput@default:default,lba.ats.config.v11reu.processor@default:default,lba.ote.latLong.client@default:default,org.eclipse.osee.framework.session.management.servlet.test@default:default,org.eclipse.osee.ats@default:default,lba.ote.ui.mp.versions@default:default,lba.ats.config.common@default:default,org.eclipse.osee.ote.ui@default:default,org.eclipse.osee.framework.search.engine.test@default:default,org.eclipse.osee.ote.connection.service.test@default:default,lba.framework.ui.skynet@default:default,lba.ote.client@default:default,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.messaging.event.skynet@default:default,org.eclipse.osee.framework.ui.product@default:default,org.eclipse.osee.ote.logging@default:default,lba.ats.config.saudi@default:default,org.apache.commons.lang@default:default,lba.ats.config.deliverable@default:default,org.eclipse.osee.framework.resource.common@default:default,lba.ote.latLong.core@default:default,lba.ote.ui.playback@default:default,org.eclipse.osee.framework.application.server@default:default,org.eclipse.osee.framework.feature.source@default:default,org.eclipse.osee.framework.resource.provider.common@default:default,org.eclipse.osee.framework.server.admin@default:default,rdt.ui@default:default,org.eclipse.osee.ats.test@default:false,org.eclipse.osee.define.feature.source@default:default,org.eclipse.osee.framework.logging@default:default,javax.mail.glassfish@default:default"/>
+</launchConfiguration>
diff --git a/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java b/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java
index 1c75e0b5008..a64429909a6 100644
--- a/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java
+++ b/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java
@@ -189,6 +189,10 @@ public class Artifact implements IAdaptable, Comparable<Artifact> {
return RelationManager.getRelatedArtifacts(this, relationEnum);
}
+ public List<Artifact> getRelatedArtifacts(IRelationEnumeration relationEnum, boolean includeDeleted) throws OseeCoreException {
+ return RelationManager.getRelatedArtifacts(this, relationEnum, includeDeleted);
+ }
+
/**
* Check if artifacts are related to each other by relation type
*
@@ -372,6 +376,14 @@ public class Artifact implements IAdaptable, Comparable<Artifact> {
}
/**
+ * @return set of the direct children of this artifact
+ * @throws OseeCoreException
+ */
+ public List<Artifact> getChildren(boolean includeDeleted) throws OseeCoreException {
+ return getRelatedArtifacts(DEFAULT_HIERARCHICAL__CHILD, includeDeleted);
+ }
+
+ /**
* @return a list of artifacts ordered by a depth first traversal of this artifact's descendants
* @throws OseeCoreException
*/
diff --git a/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java b/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java
index 053b7e23f08..24334b6f342 100644
--- a/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java
+++ b/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java
@@ -16,6 +16,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -53,6 +54,11 @@ public class RelationManager {
private static final HashMap<Artifact, List<RelationLink>> artifactToRelations =
new HashMap<Artifact, List<RelationLink>>(1024);
+ private static final String GET_DELETED_ARTIFACT_B =
+ "INSERT INTO osee_join_artifact (query_id, insert_time, art_id, branch_id, transaction_id) (SELECT DISTINCT ?, ?, b_art_id, branch_id, ? FROM osee_tx_details det, osee_txs txs, osee_relation_link rel WHERE branch_id = ? AND det.transaction_id = txs.transaction_id AND txs.gamma_id = rel.gamma_id AND rel.rel_link_type_id = ? AND a_art_id = ? AND tx_current in (2, 3))";
+ private static final String GET_DELETED_ARTIFACT_A =
+ "INSERT INTO osee_join_artifact (query_id, insert_time, art_id, branch_id, transaction_id) (SELECT DISTINCT ?, ?, b_art_id, branch_id, ? FROM osee_tx_details det, osee_txs txs, osee_relation_link rel WHERE branch_id = ? AND det.transaction_id = txs.transaction_id AND txs.gamma_id = rel.gamma_id AND rel.rel_link_type_id = ? AND a_art_id = ? AND tx_current = (2, 3))";
+
private static final int LINKED_LIST_KEY = -1;
private static RelationLink getLoadedRelation(Artifact artifact, int aArtifactId, int bArtifactId, RelationType relationType) {
@@ -158,17 +164,17 @@ public class RelationManager {
try {
if (relationSide == null) {
Artifact art = relation.getArtifactOnOtherSide(artifact);
- // if(!art.isDeleted()){
+ // if(!art.isDeleted()){
relatedArtifacts.add(art);
- // }
+ // }
} else {
// only select relations where the related artifact is on relationSide
// (and thus on the side opposite of "artifact")
if (relation.getSide(artifact) != relationSide) {
Artifact art = relation.getArtifact(relationSide);
- // if(!art.isDeleted()){
+ // if(!art.isDeleted()){
relatedArtifacts.add(art);
- // }
+ // }
}
}
} catch (ArtifactDoesNotExist ex) {
@@ -261,6 +267,42 @@ public class RelationManager {
return getRelatedArtifacts(artifact, relationType, null);
}
+ public static List<Artifact> getRelatedArtifacts(Artifact artifact, IRelationEnumeration relationEnum, boolean includeDeleted) throws OseeCoreException {
+ if (includeDeleted) {
+ Timestamp insertTime = GlobalTime.GreenwichMeanTimestamp();
+ List<Artifact> artifacts =
+ getRelatedArtifacts(artifact, relationEnum.getRelationType(), relationEnum.getSide());
+ int queryId = ArtifactLoader.getNewQueryId();
+ //(SELECT ?, ?, b_art_id, branch_id, ? FROM osee_tx_details det, osee_txs txs, osee_relation_link rel WHERE branch_id = ? AND det.transaction_id = txs.transaction_id AND txs.gamma_id = rel.gamma_id AND rel.rel_link_type_id = ? AND a_art_id = ? AND tx_current = 3)"
+ if (relationEnum.getSide().equals(RelationSide.SIDE_B)) {
+ ConnectionHandler.runPreparedUpdate(GET_DELETED_ARTIFACT_B, queryId, insertTime, SQL3DataType.INTEGER,
+ artifact.getBranch().getBranchId(), relationEnum.getRelationType().getRelationTypeId(),
+ artifact.getArtId());
+ } else {
+ ConnectionHandler.runPreparedUpdate(GET_DELETED_ARTIFACT_A, queryId, insertTime, SQL3DataType.INTEGER,
+ artifact.getBranch().getBranchId(), relationEnum.getRelationType().getRelationTypeId(),
+ artifact.getArtId());
+ }
+
+ List<Artifact> deletedArtifacts =
+ ArtifactLoader.loadArtifactsFromQueryId(queryId, ArtifactLoad.FULL, null, 4, false, false, true);
+
+ if (artifacts.isEmpty()) {
+ artifacts = new LinkedList<Artifact>();
+ }
+ for (Artifact artifactLoop : deletedArtifacts) {
+ if (artifactLoop.isDeleted()) {
+ artifacts.add(artifactLoop);
+ }
+ }
+
+ return artifacts;
+ } else {
+ return getRelatedArtifacts(artifact, relationEnum.getRelationType(), relationEnum.getSide());
+ }
+
+ }
+
public static List<Artifact> getRelatedArtifacts(Artifact artifact, IRelationEnumeration relationEnum) throws OseeCoreException {
return getRelatedArtifacts(artifact, relationEnum.getRelationType(), relationEnum.getSide());
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/IVbaDiffGenerator.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/IVbaDiffGenerator.java
index 1eaf8c7f93d..cab7b9851ef 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/IVbaDiffGenerator.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/IVbaDiffGenerator.java
@@ -17,7 +17,7 @@ public interface IVbaDiffGenerator {
public boolean addComparison(IFile baseFile, IFile newerFile, String diffPath, boolean merge);
- public void finish(String path) throws OseeCoreException;
+ public void finish(String vbaScriptPath, boolean show) throws OseeCoreException;
public File getFile(String path) throws OseeCoreException;
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/VbaWordDiffGenerator.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/VbaWordDiffGenerator.java
index cc2ef607dae..2f9dcce5b8e 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/VbaWordDiffGenerator.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/VbaWordDiffGenerator.java
@@ -17,10 +17,14 @@ import org.eclipse.osee.framework.jdk.core.util.io.streams.StreamCatcher;
*/
public class VbaWordDiffGenerator implements IVbaDiffGenerator {
private final static String header =
- "Option Explicit\n\nDim oWord\nDim baseDoc\nDim authorName\nDim detectFormatChanges\nDim ver1\nDim ver2\nDim diffPath\nDim wdCompareTargetSelectedDiff\nDim wdCompareTargetSelectedMerge\nDim wdFormattingFromCurrent\nDim wdFormatXML\nDim visible\n\nPublic Sub main()\n wdCompareTargetSelectedDiff = 0\n wdCompareTargetSelectedMerge = 1\n wdFormattingFromCurrent = 3\n wdFormatXML = 11\n\n authorName = \"OSEE Doc compare\"\n\n detectFormatChanges = True\n\n set oWord = WScript.CreateObject(\"Word.Application\")\n oWord.Visible = False\n\n";
+ "Option Explicit\n\nDim oWord\nDim baseDoc\nDim compareDoc\nDim authorName\nDim detectFormatChanges\nDim ver1\nDim ver2\nDim diffPath\nDim wdCompareTargetSelectedDiff\nDim wdCompareTargetSelectedMerge\nDim wdFormattingFromCurrent\nDim wdFormatXML\nDim visible\nDim mainDoc\n\nPublic Sub main()\n wdCompareTargetSelectedDiff = 0\n wdCompareTargetSelectedMerge = 1\n wdFormattingFromCurrent = 3\n wdFormatXML = 11\n\n authorName = \"OSEE Doc compare\"\n\n detectFormatChanges = True\n\n set oWord = WScript.CreateObject(\"Word.Application\")\n oWord.Visible = False\n\n";
private final static String comparisonCommand =
- " oWord.ActiveDocument.Compare ver2, authorName, wdCompareTargetSelectedDiff, detectFormatChanges, False, False\n oWord.ActiveDocument.SaveAs diffPath, wdFormatXML, , , False\n baseDoc.close()\n If visible Then\n Else\n oWord.ActiveDocument.close()\n End If\n\n";
+ " baseDoc.Compare ver2, authorName, wdCompareTargetSelectedDiff, detectFormatChanges, False, False\n set compareDoc = oWord.ActiveDocument\n\n";
+ private final static String comparisonCommandFirst = " set mainDoc = compareDoc\n baseDoc.close\n\n";
+
+ private final static String comparisonCommandOthers =
+ " compareDoc.Content.Copy\n\n with mainDoc\n mainDoc.Range(.Range.End-1, .Range.End-1).Paste\n end with\n baseDoc.close\n\n compareDoc.close\n\n";
private final static String mergeCommand =
" baseDoc.Merge ver2, wdCompareTargetSelectedMerge, detectFormatChanges, wdFormattingFromCurrent, False\n oWord.ActiveDocument.SaveAs diffPath, wdFormatXML, , , False\n\n";
@@ -31,10 +35,12 @@ public class VbaWordDiffGenerator implements IVbaDiffGenerator {
private StringBuilder builder;
private boolean finalized;
private boolean initialized;
+ private boolean first;
public VbaWordDiffGenerator() {
initialized = false;
finalized = false;
+ first = true;
}
public boolean initialize(boolean visible, boolean detectFormatChanges) {
@@ -69,9 +75,11 @@ public class VbaWordDiffGenerator implements IVbaDiffGenerator {
builder.append(newerFile.getLocation().toOSString());
builder.append("\"\n");
- builder.append(" diffPath = \"");
- builder.append(diffPath);
- builder.append("\"\n\n");
+ if (merge) {
+ builder.append(" diffPath = \"");
+ builder.append(diffPath);
+ builder.append("\"\n\n");
+ }
builder.append(" set baseDoc = oWord.Documents.Open (ver1)\n");
@@ -79,15 +87,24 @@ public class VbaWordDiffGenerator implements IVbaDiffGenerator {
builder.append(mergeCommand);
} else {
builder.append(comparisonCommand);
+ if (first) {
+ builder.append(comparisonCommandFirst);
+ first = false;
+ } else {
+ builder.append(comparisonCommandOthers);
+ }
}
return true;
}
@Override
- public void finish(String path) throws OseeWrappedException {
+ public void finish(String vbScriptPath, boolean show) throws OseeWrappedException {
finalized = true;
+ if (show) {
+ builder.append(" visible = True\n");
+ }
builder.append(tail);
- compare(getFile(path));
+ compare(getFile(vbScriptPath));
}
@Override
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/WholeDocumentRenderer.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/WholeDocumentRenderer.java
index 3afcb392888..d761a59038b 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/WholeDocumentRenderer.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/WholeDocumentRenderer.java
@@ -153,10 +153,10 @@ public class WholeDocumentRenderer extends WordRenderer {
addFileToWatcher(getRenderFolder(baseVersion.getBranch(), PresentationType.SPECIALIZED_EDIT),
diffPath.substring(diffPath.lastIndexOf('\\') + 1));
diffGenerator.addComparison(baseFile, newerFile, diffPath, true);
- diffGenerator.finish(diffPath.substring(0, diffPath.lastIndexOf('\\')) + "mergeDocs.vbs");
+ diffGenerator.finish(diffPath.substring(0, diffPath.lastIndexOf('\\')) + "mergeDocs.vbs", show);
} else {
diffGenerator.addComparison(baseFile, newerFile, diffPath, false);
- diffGenerator.finish(diffPath.substring(0, diffPath.lastIndexOf('\\')) + "/compareDocs.vbs");
+ diffGenerator.finish(diffPath.substring(0, diffPath.lastIndexOf('\\')) + "/compareDocs.vbs", show);
}
return diffPath;
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/WordTemplateRenderer.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/WordTemplateRenderer.java
index 3d41d4bff0d..9ffdf9a6ca3 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/WordTemplateRenderer.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/WordTemplateRenderer.java
@@ -18,7 +18,6 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
-import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.xml.namespace.QName;
import org.eclipse.core.resources.IFile;
@@ -29,8 +28,6 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.osee.framework.db.connection.exception.OseeArgumentException;
import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.util.AFile;
-import org.eclipse.osee.framework.jdk.core.util.Collections;
import org.eclipse.osee.framework.jdk.core.util.GUID;
import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
@@ -76,6 +73,7 @@ public class WordTemplateRenderer extends WordRenderer implements ITemplateRende
private static final String OLE_END = "</w:docOleData>";
private static final QName fo = new QName("ns0", "unused_localname", ARTIFACT_SCHEMA);
public static final String UPDATE_PARAGRAPH_NUMBER_OPTION = "updateParagraphNumber";
+
private final WordTemplateProcessor templateProcessor = new WordTemplateProcessor(this);
private List<PreviewRendererData> previewData;
@@ -92,14 +90,6 @@ public class WordTemplateRenderer extends WordRenderer implements ITemplateRende
}
/* (non-Javadoc)
- * @see org.eclipse.osee.framework.ui.skynet.render.DefaultArtifactRenderer#rendererId()
- */
- @Override
- public String rendererId() {
- return "org.eclipse.osee.framework.ui.skynet.wordeditor.command";
- }
-
- /* (non-Javadoc)
* @see org.eclipse.osee.framework.ui.skynet.render.IRenderer#newInstance()
*/
@Override
@@ -174,26 +164,19 @@ public class WordTemplateRenderer extends WordRenderer implements ITemplateRende
localFileName = baseFileStr + "/" + GUID.generateGuidStr() + ".xml";
fileNames.add(localFileName);
- monitor.setTaskName("Adding to Diff Script: " + (newerArtifact.get(i) == null ? baseArtifacts.get(i).getDescriptiveName() : newerArtifact.get(
+ monitor.setTaskName("Adding to Diff Script: " + (newerArtifact.get(i) == null ? "Unnamed Artifact" : newerArtifact.get(
i).getDescriptiveName()));
monitor.worked(1);
- // support the cancel feature
if (monitor.isCanceled()) {
monitor.done();
return Status.CANCEL_STATUS;
}
generator.addComparison(baseFile, newerFile, localFileName, false);
- //compare(baseFile, newerFile, fileName, false, plugin.getPluginStoreFile("support/compareDocs3.vbs"));
}
monitor.setTaskName("Running Diff Script");
- generator.finish(baseFileStr + "/compareDocs.vbs");
- //if (fileNames.size() == 1) {
- // getAssociatedProgram(null).execute(baseFileStr + fileName);
- // } else {
- createAggregateArtifactDiffReport(fileNames, baseFileStr, null, baseFileStr + "/" + fileName, monitor);
- // }
+ generator.finish(baseFileStr + "/compareDocs.vbs", true);
} catch (OseeCoreException ex) {
return new Status(Status.ERROR, SkynetGuiPlugin.PLUGIN_ID, Status.OK, ex.getLocalizedMessage(), ex);
}
@@ -202,49 +185,6 @@ public class WordTemplateRenderer extends WordRenderer implements ITemplateRende
});
}
- private void createAggregateArtifactDiffReport(ArrayList<String> fileNames, String baseFileStr, Artifact artifact, String fileName, IProgressMonitor monitor) throws OseeCoreException {
- monitor.setTaskName("Writing final document");
- ArrayList<String> datas = new ArrayList<String>(fileNames.size());
- int startIndex;
- int endIndex;
-
- for (String filename : fileNames) {
- String data = AFile.readFile(filename);
- startIndex = data.indexOf("<w:body>") + 8;
- endIndex = data.indexOf("</w:body>");
-
- data = data.substring(startIndex, endIndex);
-
- Matcher m = pattern.matcher(data);
- while (m.find()) {
- String name = m.group(1);
- data = data.replace(name, GUID.generateGuidStr() + name);
- }
-
- datas.add(data);
- }
-
- String firstFileName = fileNames.get(0);
- String file = AFile.readFile(firstFileName);
- datas.remove(0);
- file = file.replace("</w:body>", Collections.toString("", datas) + "</w:body>");
-
- if (!file.contains("xmlns:ns2=\"http")) {
- file = file.replaceAll("ns2", "ns1");
- }
-
- if (!file.contains("xmlns:ns1=\"http")) {
- file = file.replaceAll("ns1", "ns0");
- }
- if (fileName == null) {
- fileName = baseFileStr + "/" + GUID.generateGuidStr() + "_diff.xml";
- }
- AFile.writeFile(fileName, file);
-
- monitor.done();
- getAssociatedProgram(artifact).execute(fileName);
- }
-
@Override
public String compare(Artifact baseVersion, Artifact newerVersion, IProgressMonitor monitor, PresentationType presentationType, boolean show) throws OseeCoreException {
if (baseVersion == null && newerVersion == null) throw new OseeArgumentException(
@@ -305,10 +245,10 @@ public class WordTemplateRenderer extends WordRenderer implements ITemplateRende
addFileToWatcher(getRenderFolder(baseVersion.getBranch(), PresentationType.SPECIALIZED_EDIT),
diffPath.substring(diffPath.lastIndexOf('\\') + 1));
diffGenerator.addComparison(baseFile, newerFile, diffPath, true);
- diffGenerator.finish(diffPath.substring(0, diffPath.lastIndexOf('\\')) + "mergeDocs.vbs");
+ diffGenerator.finish(diffPath.substring(0, diffPath.lastIndexOf('\\')) + "mergeDocs.vbs", show);
} else {
diffGenerator.addComparison(baseFile, newerFile, diffPath, false);
- diffGenerator.finish(diffPath.substring(0, diffPath.lastIndexOf('\\')) + "/compareDocs.vbs");
+ diffGenerator.finish(diffPath.substring(0, diffPath.lastIndexOf('\\')) + "/compareDocs.vbs", show);
}
return diffPath;
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/word/ButtonWordMlCreator.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/word/ButtonWordMlCreator.java
deleted file mode 100644
index 3d093d78599..00000000000
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/word/ButtonWordMlCreator.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.osee.framework.ui.skynet.render.word;
-
-import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.util.xml.Xml;
-import org.eclipse.osee.framework.skynet.core.attribute.Attribute;
-
-/**
- * P
- *
- * @author Theron Virgin
- */
-public class ButtonWordMlCreator {
- public static final String[] ORDERER_ATTRIBUTE_TYPES =
- {"Format (Location)", "Rename", "Local Data Definition", "Index", "Display If", "Barrier If", "Top Mode",
- "Bottom Mode", "Color Mode", "Upon Crew Selection", "KU Label", "KU Validation", "OIP If", "SF If",
- "Current Page Mode", "Total Page Mode", "Controls and Display Variance", "Note"};
-
- private static String paragraphEnd = "</w:t></w:r></w:p>";
- private static String start = "<w:p><w:pPr><w:pStyle w:val=\"dlbody\"/></w:pPr><w:r><w:t>";
- private static String logicMessageStart =
- "</w:t></w:r><w:pPr><w:pStyle w:val=\"dlbody\"/><w:rPr><w:b/></w:rPr></w:pPr><w:r><w:rPr><w:b/><w:caps/><w:color w:val=\"81391B\"/></w:rPr><w:t>";
- private static String logicMessageEnd =
- "</w:t></w:r><w:r><w:rPr><w:b/><w:caps/><w:color w:val=\"81391B\"/><w:vertAlign w:val=\"subscript\"/></w:rPr><w:t>LM</w:t></w:r><w:r><w:rPr><w:b/><w:vertAlign w:val=\"subscript\"/></w:rPr><w:t></w:t></w:r><w:r><w:t>";
- private static String regMessageStart =
- "</w:t></w:r><w:pPr><w:pStyle w:val=\"dlbody\"/><w:rPr><w:b/></w:rPr></w:pPr><w:r><w:rPr><w:b/><w:caps/></w:rPr><w:t>";
- private static String regMessageEnd = "</w:t></w:r><w:r><w:t>";
- private static String headerStart = "<w:p><w:pPr><w:pStyle w:val=\"dlheader\"/></w:pPr><w:r><w:t>";
- private static String headerEnd = ":</w:t></w:r></w:p>";
- private static String curlyStart = "</w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t>{";
- private static String curlyEnd = "}</w:t></w:r><w:r><w:t>";
- private static String commentColor = "</w:t></w:r><w:r><w:rPr><w:color w:val=\"FF0000\"/></w:rPr><w:t>//";
- private static String commentPr = "<w:pPr><w:pStyle w:val=\"comment1\"/></w:pPr>";
- private static final String START_TEXT_CHAR = new String(new byte[] {0x002});
- private static final String END_TEXT_CHAR = new String(new byte[] {0x003});
-
- private static final String lmRegEx = "(\\[[^\\s]+?\\])LM";
- private static final String ldRegEx = "(\\[[^\\s]+?\\])(?!LM)";
- private static final String eBRegEx = "(\\002[^\\002]*?)\\003([^\\002]*?\\003)";
- private static final String sBRegEx = "(\\002[^\\003]*?)\\002([^\\002]*?\\003)";
-
- public static String getWordMlFromAttribute(Attribute<?> attribute) throws OseeCoreException {
- for (String string : ORDERER_ATTRIBUTE_TYPES)
- if (attribute.getAttributeType().getName().equals(string)) {
- return (headerStart + string + headerEnd + getIfWordMl(attribute));
- }
- String wordml =
- "<w:p><w:r><w:t> " + attribute.getAttributeType().getName() + ": " + (attribute.getValue() != null ? attribute.getValue().toString() : " ") + " </w:t></w:r></w:p>";
- return wordml;
- }
-
- private static String getIfWordMl(Attribute<?> attribute) throws OseeCoreException {
- if (attribute.getValue() == null) {
- return "";
- }
- String wordml = attribute.getValue().toString();
- wordml = Xml.escape(wordml).toString();
- wordml = wordml.replaceAll("\\{", START_TEXT_CHAR + "{");
- wordml = wordml.replaceAll("\\[", START_TEXT_CHAR + "[");
- wordml = wordml.replaceAll("\\}", "}" + END_TEXT_CHAR);
- wordml = wordml.replaceAll("\\]", "]" + END_TEXT_CHAR);
- wordml = wordml.replaceAll(eBRegEx, "$1$2");
- wordml = wordml.replaceAll(sBRegEx, "$1$2");
- wordml = wordml.replaceAll("\\002\\{", curlyStart);
- wordml = wordml.replaceAll("\\}\\003", curlyEnd);
- wordml = wordml.replaceAll("\\002", "");
- wordml = wordml.replaceAll("\\003", "");
- //Order matters for the next two replaceAll's
- wordml = wordml.replaceAll(ldRegEx, regMessageStart + "$1" + regMessageEnd);
- wordml = wordml.replaceAll(lmRegEx, logicMessageStart + "$1" + logicMessageEnd);
- wordml = wordml.replace("\n", "");
- wordml = wordml.replace("\r", paragraphEnd + start);
- wordml = start + wordml;
- wordml = wordml + paragraphEnd;
- wordml = processComments(wordml);
-
- return wordml;
- }
-
- private static String processComments(String wordml) {
- wordml = wordml.replaceAll("//", commentColor);
- int index = 0;
- while (wordml.indexOf("//", index) != -1) {
- String subString =
- wordml.substring(wordml.indexOf("//", index), wordml.indexOf("</w:p>", wordml.indexOf("//", index)));
- String newSubString = subString.replaceAll("\\<.*?\\>", "");
- wordml = wordml.replace(subString, newSubString + "</w:t></w:r>");
- index = wordml.indexOf("//", index) + 2;
- }
- return wordml;
- }
-}

Back to the top