Skip to content

Commit

Permalink
Update release note and pull in changes (#66)
Browse files Browse the repository at this point in the history
* HDFVIEW-265 fix display of long double data.

* HDFVIEW-265 source typos

* HDFVIEW-265 add comments

* HDFVIEW-268 attribute write, -228 libver bounds init

* Separate objects note from large datasets.

* Add v112, v114 to list of libver bounds

* remove unneeded reference

* Remove extra text

* add @OverRide

* revert local paths

* Fix export dataset

* Update copyright year

* ubuntu readme file name uses amd64 not x86_64

* Install location is one folder up

* HDFVIEW-270 fix file open issue

* Add missing xdr lib copy

* Fix copyright

* Fix copyright

* Fix mac signing and notary.

* Merge HDFVIEW-272 changes - lib folder updates

* Merge HDFVIEW-272 changes, refs and ui tests fail.

* hdfview class and attribute refactor

This pulls in all changes made to active development in 1.10 based
branch.
Updates the object classes to use new object refs for OIDs.
New refs do have issues due to a bug in hdf5 1.12 H5Ocopy.

* Update logging framework

* Update logging version

* Add new class for reference

* Add test for new attr ref

* Add object reference test

* HDFVIEW-275 add SWMR refresh support

* Update swt libs

* Correct usage of new refs for images

* Revert props

* refs should not be converted to longs - write expects byte

* correct windows timestamp server url

* Correct usage of new references in data.

Update timestamp server
Update table reference data handling
Add getDepth function and use getWidth,getHeight,getDepth
Remove object test ID count check

* Add missing file update

* Separate test focus into try/catch

* Correct lib version in test

* Javadoc fixes

* Fix javadoc

* Update note for attribute refactor.

* Convert user/key names to env vars.

* Change how check notary is coded.

* Change env signer var name

* Move env vars to top, fix sign user

* Correct account used for signing

* Update comments for javadoc

* Use sleep task to delay check

* Add back UUID read

* Fix typo

* resource check needs a condition

* add property
  • Loading branch information
byrnHDF authored May 9, 2022
1 parent 4f23021 commit 8547480
Show file tree
Hide file tree
Showing 18 changed files with 195 additions and 132 deletions.
68 changes: 23 additions & 45 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,13 @@

<record name="antoutput.log" action="start" append="${build.antoutput.append}" loglevel="verbose" />

<!-- MAC signing: -->
<property name="sign.account" value="${env.SIGNER}" />
<property name="login.keychain_key" value="${env.KEYCHAIN_PASSWD}" />

<!-- MAC notary: -->
<property name="notarize.account" value="" />
<property name="notarize.keychain_key" value="xdfm-pjev-jiko-appd" />
<property name="notarize.account" value="${env.NOTARY_USER}" />
<property name="notarize.keychain_key" value="${env.NOTARY_KEY}" />

<!-- Get HDFView, HDF4, HDF5 and HDF-Java version information -->
<loadfile property="app.version" srcFile="${basedir}/VERSION">
Expand Down Expand Up @@ -912,7 +916,7 @@
</doctitle>

<bottom>
<![CDATA[Copyright © 2021. All Rights Reserved.]]>
<![CDATA[Copyright © 2022. All Rights Reserved.]]>
</bottom>

<group title="object packages" packages="hdf.object.*" />
Expand Down Expand Up @@ -1401,7 +1405,7 @@
<exec executable="security" dir="${dist.dir}" failonerror="true">
<arg value="unlock-keychain" />
<arg value="-p" />
<arg value="${env.SIGNERPASSWD}" />
<arg value="${login.keychain_key}" />
<arg value="login.keychain" />
</exec>

Expand Down Expand Up @@ -1475,7 +1479,7 @@
<arg value="--mac-package-signing-prefix" />
<arg value="org.hdfgroup.HDFView" />
<arg value="--mac-signing-key-user-name" />
<arg value="The HDF Group (${env.SIGNER})" />
<arg value="The HDF Group (${sign.account})" />
</exec>
</target>

Expand Down Expand Up @@ -1712,7 +1716,7 @@
<exec executable="security" dir="${dist.dir}" failonerror="true">
<arg value="unlock-keychain" />
<arg value="-p" />
<arg value="${env.SIGNERPASSWD}" />
<arg value="${login.keychain_key}" />
<arg value="login.keychain" />
</exec>

Expand All @@ -1724,7 +1728,7 @@
<arg value="runtime" />
<arg value="--verbose=4" />
<arg value="--sign" />
<arg value="${env.SIGNER}" />
<arg value="${sign.account}" />
<arg value="${ant.project.name}-${app.version}.dmg" />
</exec>

Expand Down Expand Up @@ -1940,7 +1944,7 @@
<arg value="--primary-bundle-id"/>
<arg value="app.${ant.project.name}-${app.version}"/>
<arg value="--username"/>
<arg value="[email protected]"/>
<arg value="${notarize.account}"/>
<arg value="--password"/>
<arg value="${notarize.keychain_key}"/>
<!-- <arg value="@keychain:${notarize.keychain_key}"/> -->
Expand All @@ -1960,31 +1964,6 @@
<echo>notarize-app:${retUUID}</echo>
</target>

<target name="check-notary-state">
<loadfile property="retUUID" srcfile="retUUID.txt">
<filterchain>
<tokenfilter>
<containsregex
pattern="RequestUUID\s*\=\s*([0-9a-fA-F-]+)$"
replace="\1" />
</tokenfilter>
<striplinebreaks/>
</filterchain>
</loadfile>
<exec executable="/usr/bin/xcrun" failonerror="true" outputproperty="logInfo" resultproperty="logUUID">
<redirector output="notary.txt" alwayslog="true"/>
<arg value="altool"/>
<arg value="--notarization-info"/>
<arg value="${retUUID}"/>
<arg value="--username"/>
<arg value="[email protected]"/>
<arg value="--password"/>
<arg value="${notarize.keychain_key}"/>
<!-- <arg value="@keychain:${notarize.keychain_key}"/> -->
</exec>
<echo>notarize-info:${logInfo}</echo>
</target>

<target name="post-notary">
<loadfile property="retUUID" srcfile="retUUID.txt">
<filterchain>
Expand All @@ -1996,23 +1975,22 @@
<striplinebreaks/>
</filterchain>
</loadfile>
<sleep minutes="10"/>
<exec executable="/usr/bin/xcrun" failonerror="true" outputproperty="logInfo" resultproperty="logUUID">
<redirector output="notary.txt" alwayslog="true"/>
<arg value="altool"/>
<arg value="--notarization-info"/>
<arg value="${retUUID}"/>
<arg value="--username"/>
<arg value="[email protected]"/>
<arg value="${notarize.account}"/>
<arg value="--password"/>
<arg value="${notarize.keychain_key}"/>
<!-- <arg value="@keychain:${notarize.keychain_key}"/> -->
</exec>
<echo>notarize-info:${logInfo}</echo>

<waitfor maxwait="10" maxwaitunit="minute" checkevery="5" checkeveryunit="second">
<antcall target="check-notary-state" />
<condition property="isnotarized">
<resourcecontains resource="notary.txt" substring="success"/>
</waitfor>
</condition>
<echo>notarize-info:${logInfo}</echo>
</target>

<!-- Staple the received notarization to the app -->
Expand All @@ -2039,7 +2017,7 @@
<exec executable="security" dir="${dist.dir}" failonerror="true">
<arg value="unlock-keychain" />
<arg value="-p" />
<arg value="${env.SIGNERPASSWD}" />
<arg value="${login.keychain_key}" />
<arg value="login.keychain" />
</exec>

Expand All @@ -2054,7 +2032,7 @@
<arg value="${basedir}/${lib.dir}/macosx/distribution.entitlements" />
<arg value="--verbose=4" />
<arg value="--sign" />
<arg value="${env.SIGNER}" />
<arg value="${sign.account}" />
<fileset dir="${dist.dir}/${ant.project.name}.app/Contents/app" casesensitive="yes">
<include name="**/*.dylib"/>
</fileset>
Expand All @@ -2070,7 +2048,7 @@
<arg value="${basedir}/${lib.dir}/macosx/distribution.entitlements" />
<arg value="--verbose=4" />
<arg value="--sign" />
<arg value="${env.SIGNER}" />
<arg value="${sign.account}" />
<arg value="${ant.project.name}.app/Contents/runtime/Contents/MacOS/libjli.dylib" />
</exec>
<exec executable="codesign" dir="${dist.dir}" failonerror="true">
Expand All @@ -2082,7 +2060,7 @@
<arg value="${basedir}/${lib.dir}/macosx/distribution.entitlements" />
<arg value="--verbose=4" />
<arg value="--sign" />
<arg value="${env.SIGNER}" />
<arg value="${sign.account}" />
<arg value="${ant.project.name}.app/Contents/MacOS/${ant.project.name}" />
</exec>

Expand All @@ -2097,7 +2075,7 @@
<arg value="${basedir}/${lib.dir}/macosx/distribution.entitlements" />
<arg value="--verbose=4" />
<arg value="--sign" />
<arg value="${env.SIGNER}" />
<arg value="${sign.account}" />
<arg value="${ant.project.name}.app/" />
</exec>

Expand Down Expand Up @@ -2135,7 +2113,7 @@
<arg value="${basedir}/${lib.dir}/macosx/distribution.entitlements" />
<arg value="--verbose=4" />
<arg value="--sign" />
<arg value="${env.SIGNER}" />
<arg value="${sign.account}" />
<arg value="--deep" />
<arg value="${ant.project.name}-${app.version}.dmg" />
</exec>
Expand Down
4 changes: 4 additions & 0 deletions docs/RELEASE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ Major Enhancements
* This version supports the new references available in hdf5 1.12 releases.
* Support for reading a SWMR created file, using a configurable timer to
refresh dataset tables.
* Refactored the attribute object classes to use the same object logic as
datasets. This allows data objects to display table views using the same
logic. This includes the editing and reference handling.

Major Bug Fixes
==============================================================================
Expand All @@ -40,6 +43,7 @@ Minor Bug Fixes
the attribute twice.
* Added an initilize lib version bounds function. Now the change
lib version dialog correctly preloads the combo box values.
* Correct display of dimension for scalar types.


Limitations / Known Problems
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,69 +88,76 @@ protected void addObjectSpecificContent() {
text = new Text(datasetInfoGroup, SWT.SINGLE | SWT.BORDER);
text.setEditable(false);
text.setFont(curFont);
labelInfo = "" + d.getRank();
if (d.isScalar()) {
labelInfo = "Scalar";
}
else {
labelInfo = "" + d.getRank();
}
text.setText(labelInfo);
text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

/* Dataset dimension size section */
label = new Label(datasetInfoGroup, SWT.LEFT);
label.setFont(curFont);
label.setText("Dimension Size(s): ");

// Set Dimension Size
String dimStr = null;
String maxDimStr = null;
long dims[] = d.getDims();
long maxDims[] = d.getMaxDims();
if (dims != null) {
String[] dimNames = d.getDimNames();
boolean hasDimNames = ((dimNames != null) && (dimNames.length == dims.length));
StringBuilder sb = new StringBuilder();
StringBuilder sb2 = new StringBuilder();

sb.append(dims[0]);
if (hasDimNames) {
sb.append(" (").append(dimNames[0]).append(")");
}

if (maxDims[0] < 0)
sb2.append("Unlimited");
else
sb2.append(maxDims[0]);

for (int i = 1; i < dims.length; i++) {
sb.append(" x ");
sb.append(dims[i]);
if (!d.isScalar()) {
/* Dataset dimension size section */
label = new Label(datasetInfoGroup, SWT.LEFT);
label.setFont(curFont);
label.setText("Dimension Size(s): ");

// Set Dimension Size
String dimStr = null;
String maxDimStr = null;
long dims[] = d.getDims();
long maxDims[] = d.getMaxDims();
if (dims != null) {
String[] dimNames = d.getDimNames();
boolean hasDimNames = ((dimNames != null) && (dimNames.length == dims.length));
StringBuilder sb = new StringBuilder();
StringBuilder sb2 = new StringBuilder();

sb.append(dims[0]);
if (hasDimNames) {
sb.append(" (").append(dimNames[i]).append(")");
sb.append(" (").append(dimNames[0]).append(")");
}

sb2.append(" x ");
if (maxDims[i] < 0)
if (maxDims[0] < 0)
sb2.append("Unlimited");
else
sb2.append(maxDims[i]);
sb2.append(maxDims[0]);

}
dimStr = sb.toString();
maxDimStr = sb2.toString();
}
for (int i = 1; i < dims.length; i++) {
sb.append(" x ");
sb.append(dims[i]);
if (hasDimNames) {
sb.append(" (").append(dimNames[i]).append(")");
}

text = new Text(datasetInfoGroup, SWT.SINGLE | SWT.BORDER);
text.setEditable(false);
text.setFont(curFont);
text.setText((dimStr == null) ? "null" : dimStr);
text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
sb2.append(" x ");
if (maxDims[i] < 0)
sb2.append("Unlimited");
else
sb2.append(maxDims[i]);

label = new Label(datasetInfoGroup, SWT.LEFT);
label.setFont(curFont);
label.setText("Max Dimension Size(s): ");
}
dimStr = sb.toString();
maxDimStr = sb2.toString();
}

text = new Text(datasetInfoGroup, SWT.SINGLE | SWT.BORDER);
text.setEditable(false);
text.setFont(curFont);
text.setText((maxDimStr == null) ? "null" : maxDimStr);
text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
text = new Text(datasetInfoGroup, SWT.SINGLE | SWT.BORDER);
text.setEditable(false);
text.setFont(curFont);
text.setText((dimStr == null) ? "null" : dimStr);
text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

label = new Label(datasetInfoGroup, SWT.LEFT);
label.setFont(curFont);
label.setText("Max Dimension Size(s): ");

text = new Text(datasetInfoGroup, SWT.SINGLE | SWT.BORDER);
text.setEditable(false);
text.setFont(curFont);
text.setText((maxDimStr == null) ? "null" : maxDimStr);
text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
}

/* Dataset datatype section */
label = new Label(datasetInfoGroup, SWT.LEFT);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2805,6 +2805,13 @@ public RowHeaderDataProvider(DataFormat theDataObject) {
stride = (int) strideArray[selectedIndex[0]];
}


/** Update the Row Header data provider to set row indices based on Index Base for
* both Scalar Datasets and Compound Datasets.
*
* @param theDataObject
* the data object
*/
public void updateRows(DataFormat theDataObject) {
this.rank = theDataObject.getRank();
this.dims = theDataObject.getSelectedDims();
Expand Down
Loading

0 comments on commit 8547480

Please sign in to comment.