eclipse-archived / triquetrum

Triquetrum project
Other
13 stars 14 forks source link

Update Ptolemy Plugins #215

Closed cxbrooks closed 7 years ago

cxbrooks commented 7 years ago

Check to see if we need to create new Ptolemy plugin downloads.

This would require CQs

cxbrooks commented 7 years ago

Erwin wrote:

https://waynebeaton.wordpress.com/2017/04/03/service-releases-of-third-party-content-in-the-eclipse-ip-due-diligence-process/

This could simplify the process to get Ptolemy updates in our Triquetrum build.

Of course it remains to be seen what we consider as service releases…

When we add extra Ptolemy classes in the bundle projects, I guess we would need a rapid CQ anyway.

See Bug #116: Make the ptII source and class files that passed CQ IP review available via a p2 site.

To see what changed:

svn co https://repo.eecs.berkeley.edu/svn/projects/eal/ptII/branches/osgi-2-0-cq-1 
svn co https://repo.eecs.berkeley.edu/svn/projects/eal/ptII/branches/osgi-2-0
diff -rwb -x .svn osgi-2-0-cq-1 osgi-2-0 >& ~/tmp/osgi-2-0-cq-1-diff.txt

See osgi-2-0-cq-1-diff.txt

Summary of the diffs:

cxbrooks commented 7 years ago
cxbrooks commented 7 years ago

To determine what files needed to be added to ptolemy.actor.lib:

  1. export JAVAFLAGS=-verbose
  2. $PTII/bin/capecode >& /tmp/c.out
  3. In CapeCode, click on the copyright and the click through the bottom of the pages until the "Expand configuration" link is at the top. Click on "Expand configuration". This will expand the actors listed in the left hand palette and the class names will appear in /tmp/c.out
  4. Generate a list of java files with: egrep 'ptolemy\.actor\.lib' /tmp/c.out | grep -v jjs | awk '{print $2}' | sort | sed 's/\$.*$//' | sort | uniq | sed 's@\.@/@g' | awk '{print $1 ".java"}'

Below is the diff between osgi-2-0/ptolemy.actor.lib/pt-jar.files and the proposed changes:

pt-jar.files.diff.txt

Note that CapeCode opens the following actors that are not part of the ptolemy.actor.lib bundle

/ptolemy/actor/lib/colt/ColtBeta.java
/ptolemy/actor/lib/colt/ColtBinomial.java
/ptolemy/actor/lib/colt/ColtBinomialSelector.java
/ptolemy/actor/lib/colt/ColtBreitWigner.java
/ptolemy/actor/lib/colt/ColtChiSquare.java
/ptolemy/actor/lib/colt/ColtExponential.java
/ptolemy/actor/lib/colt/ColtExponentialPower.java
/ptolemy/actor/lib/colt/ColtGamma.java
/ptolemy/actor/lib/colt/ColtHyperGeometric.java
/ptolemy/actor/lib/colt/ColtLogarithmic.java
/ptolemy/actor/lib/colt/ColtNegativeBinomial.java
/ptolemy/actor/lib/colt/ColtNormal.java
/ptolemy/actor/lib/colt/ColtPoisson.java
/ptolemy/actor/lib/colt/ColtPoissonSlow.java
/ptolemy/actor/lib/colt/ColtRandomSource.java
/ptolemy/actor/lib/colt/ColtStudentT.java
/ptolemy/actor/lib/colt/ColtVonMises.java
/ptolemy/actor/lib/colt/ColtZeta.java

/ptolemy/actor/lib/database/ArrayOfRecordsRecorder.java
/ptolemy/actor/lib/database/DatabaseInsert.java
/ptolemy/actor/lib/database/DatabaseManager.java
/ptolemy/actor/lib/database/DatabaseQuery.java
/ptolemy/actor/lib/database/DatabaseSelect.java
/ptolemy/actor/lib/database/SQLStatement.java

/ptolemy/actor/lib/excel/Excel.java

/ptolemy/actor/lib/fmi/fmipp/FMUModelExchange.java

/ptolemy/actor/lib/jai/JAIImageToken.java

/ptolemy/actor/lib/joystick/Joystick.java

/ptolemy/actor/lib/mail/SendMail.java

/ptolemy/actor/lib/python/PythonScript.java

Also, ptolemy.actor.lib.gui would get the following additions:

ptolemy/actor/lib/gui/ArrayPlotter.java
/ptolemy/actor/lib/gui/ArrayPlotterXY.java
/ptolemy/actor/lib/gui/ArrowKeySensor.java
/ptolemy/actor/lib/gui/BarGraph.java
/ptolemy/actor/lib/gui/Display.java
/ptolemy/actor/lib/gui/DisplayInterface.java
/ptolemy/actor/lib/gui/DisplayJavaSE.java
/ptolemy/actor/lib/gui/EventButton.java
/ptolemy/actor/lib/gui/HistogramPlotter.java
/ptolemy/actor/lib/gui/InteractiveDialog.java
/ptolemy/actor/lib/gui/MatrixViewer.java
/ptolemy/actor/lib/gui/MonitorValue.java
/ptolemy/actor/lib/gui/Plotter.java
/ptolemy/actor/lib/gui/PlotterBase.java
/ptolemy/actor/lib/gui/PlotterBaseInterface.java
/ptolemy/actor/lib/gui/PlotterBaseJavaSE.java
/ptolemy/actor/lib/gui/RealTimePlotter.java
/ptolemy/actor/lib/gui/SequencePlotter.java
/ptolemy/actor/lib/gui/SequenceScope.java
/ptolemy/actor/lib/gui/TextFieldContainerInterface.java
/ptolemy/actor/lib/gui/TimedDisplay.java
/ptolemy/actor/lib/gui/TimedMonitorValue.java
/ptolemy/actor/lib/gui/TimedPlotter.java
/ptolemy/actor/lib/gui/TimedScope.java
/ptolemy/actor/lib/gui/UsesInvokeAndWait.java
/ptolemy/actor/lib/gui/XYPlotter.java
/ptolemy/actor/lib/gui/XYScope.java

A bunch of these are plotters, so it is unclear what we should do with them, see Bug #39 Integrate Ptolemy II's Plot actor in an RCP workbench

cxbrooks commented 7 years ago

I updated the osgi-2-0 repository with the classes in ptolemy/actor/lib/*.java that are used by CapeCode. I did not check in new classes that are in subpackages of ptolemy.actor.lib. I also updated the modules in osgi-2-0 with a few minor recent changes in the ptII tree. There are probably roughly 20 changes, all are bug fixes.

For the record, here are the files that were checked in:

Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Assert.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Bernoulli.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/BooleanMultiplexor.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/BooleanSelect.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/BooleanSwitch.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/BusAssembler.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/BusDisassembler.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/CatchExceptionAttribute.java
Sending        ptolemy.actor.lib/original-src/ptolemy/actor/lib/Clock.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Commutator.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/ComputeHistogram.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/ConfigurationSelect.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/ConfigurationSwitch.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/CurrentDate.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/DB.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/DateConstructor.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/DateElements.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Default.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/DelayStart.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Dictionary.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Distributor.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/ElementsToArray.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/ExceptionSubscriber.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/ExecutionTime.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Exit.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/FileWriter.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/GetCausalityInterface.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/GradientAdaptiveLattice.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/IIR.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/LevinsonDurbin.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/LinearDifferenceEquationSystem.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/LookupTable.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/MathFunction.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/MatrixToArray.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/MicrostepDelay.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/ModifyDate.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Multiplexor.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/MultiplyDivide.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/OrderedRecordAssembler.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Pause.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/PhaseUnwrap.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/PoissonClock.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Quantizer.java
Sending        ptolemy.actor.lib/original-src/ptolemy/actor/lib/RecordDisassembler.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Remainder.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/ResettableTimer.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Scale.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Select.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Sequencer.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/SetVariable.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/SingleEvent.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Sleep.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Stop.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/SubMatrix.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Switch.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/SynchronizeToRealTime.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/Synchronizer.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/TestExceptionAttribute.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/ThrowException.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/ThrowModelError.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/TimeDelay.java
Sending        ptolemy.actor.lib/original-src/ptolemy/actor/lib/TrigFunction.java
Sending        ptolemy.actor.lib/original-src/ptolemy/actor/lib/TriggeredClock.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/TypeTest.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/UnionDisassembler.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/UnionMerge.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/VariableSleep.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/VectorAssembler.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/VectorDisassembler.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/WallClockTime.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions/DateToString.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions/ImageToString.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions/SmoothToDouble.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions/StringToBoolean.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions/StringToDate.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions/StringToDouble.java
Adding         ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions/StringToInt.java
Sending        ptolemy.actor.lib/original-src/ptolemy/actor/lib/io/DirectoryListing.java
Sending        ptolemy.actor.lib/pt-jar.files
Sending        ptolemy.core/original-src/ptolemy/actor/AtomicActor.java
Sending        ptolemy.core/original-src/ptolemy/actor/CompositeActor.java
Sending        ptolemy.core/original-src/ptolemy/actor/IOPort.java
Sending        ptolemy.core/original-src/ptolemy/actor/Manager.java
Sending        ptolemy.core/original-src/ptolemy/data/DateToken.java
Sending        ptolemy.core/original-src/ptolemy/data/expr/Variable.java
Sending        ptolemy.core/original-src/ptolemy/data/type/BaseType.java
Adding         ptolemy.core/original-src/ptolemy/kernel/util/LoggerListener.java
Sending        ptolemy.core/original-src/ptolemy/kernel/util/NamedObj.java
Sending        ptolemy.core/original-src/ptolemy/util/FileUtilities.java
Sending        ptolemy.core/original-src/ptolemy/util/StringUtilities.java
Sending        ptolemy.core/pt-jar.files
Sending        ptolemy.gui/original-src/ptolemy/gui/Top.java
Sending        ptolemy.gui/original-src/ptolemy/gui/UndeferredGraphicalMessageHandler.java
Sending        ptolemy.moml/original-src/ptolemy/moml/MoMLParser.java
Sending        ptolemy.moml/original-src/ptolemy/moml/filter/ClassChanges.java
Sending        ptolemy.moml/original-src/ptolemy/moml/filter/PortNameChanges.java
Sending        ptolemy.moml/original-src/ptolemy/moml/filter/PropertyClassChanges.java
Sending        ptolemy.moml/original-src/ptolemy/moml/filter/RelationWidthChanges.java

As per http://wiki.eclipse.org/Triquetrum/Ptolemy/osgi-2-0 I created signed jars and uploaded them to a p2 site at http://chess.eecs.berkeley.edu/triq/p2/osgi-2-0-2 .

I modified ./releng/org.eclipse.triquetrum.target.platform/org.eclipse.triquetrum.target.platform.target and successfull rebuilt.

./releng/org.eclipse.triquetrum.target.platform/org.eclipse.triquetrum.target.platform.tpd would also need to be updated.

The next steps would be:

cxbrooks commented 7 years ago

Committed changes to the tree that use the osgi-2-0-2 p2 repo.

See Triquetrum/Target Platform Definition for how this was done.

cxbrooks commented 7 years ago

Ok, I see that I can edit plugins/editor/org.eclipse.triquetrum.workflow.editor.palette/plugin.xml and add the actors and parameters that were just added.

Initially, the actor palette should probably follow the order in Ptolemy II, which is described in /ptolemy/configs/basicActorLibrary.xml

However, there is another todo item:

cxbrooks commented 7 years ago

Whoops, I think I accidentally commited from the master on the last commit.

Anyway, the icons have been added, see https://wiki.eclipse.org/Triquetrum/Extending_Triquetrum#Adding_preexisting_Java_actor_classes_to_a_OSGi_actor_module

Closing this one.

The next step is to prepare the CQ, see Bug #240 0.2.0 Release: IP Team Approval of the IP Log

cxbrooks commented 7 years ago

Erwin wrote:

Related to your documentation on the wiki for bringing over the actor icon files : for the previous ones I had to do some manual changes.

So, I'm reopening this bug. To close it:

cxbrooks commented 7 years ago

Here's an update on what has changed:

svn co https://repo.eecs.berkeley.edu/svn/projects/eal/ptII/branches/osgi-2-0-cq-1 
svn co https://repo.eecs.berkeley.edu/svn/projects/eal/ptII/branches/osgi-2-0
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1 osgi-2-0 >& ~/tmp/osgi-2-0-cq-1-diff.txt

See osgi-2-0-cq-1-diff.txt

Summary of the diffs:

Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Assert.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Bernoulli.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: BooleanMultiplexor.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: BooleanSelect.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: BooleanSwitch.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: BusAssembler.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: BusDisassembler.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Commutator.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: ComputeHistogram.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: ConfigurationSelect.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: ConfigurationSwitch.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: CurrentDate.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: DB.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: DateConstructor.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: DateElements.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Default.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: DelayStart.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Dictionary.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Distributor.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: ElementsToArray.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: ExceptionSubscriber.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: ExecutionTime.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Exit.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: FileWriter.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: GetCausalityInterface.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: GradientAdaptiveLattice.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: IIR.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: LevinsonDurbin.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: LinearDifferenceEquationSystem.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: LookupTable.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: MathFunction.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: MatrixToArray.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: MicrostepDelay.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: ModifyDate.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Multiplexor.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: MultiplyDivide.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: OrderedRecordAssembler.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Pause.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: PhaseUnwrap.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: PoissonClock.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Quantizer.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Remainder.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: ResettableTimer.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Scale.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Select.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Sequencer.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: SetVariable.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: SingleEvent.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Sleep.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Stop.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: SubMatrix.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Switch.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: SynchronizeToRealTime.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: Synchronizer.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: TestExceptionAttribute.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: ThrowException.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: ThrowModelError.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: TimeDelay.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: TypeTest.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: UnionDisassembler.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: UnionMerge.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: VariableSleep.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: VectorAssembler.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: VectorDisassembler.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib: WallClockTime.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions: DateToString.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions: ImageToString.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions: SmoothToDouble.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions: StringToBoolean.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions: StringToDate.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions: StringToDouble.java
Only in osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/conversions: StringToInt.java
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.actor.lib/original-src/ptolemy/actor/lib/Clock.java osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/Clock.java
139a140
>  @deprecated Use DiscreteClock.

diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.actor.lib/original-src/ptolemy/actor/lib/RecordDisassembler.java osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/RecordDisassembler.java
170c170
<                     port.broadcast(value);
---
>                     port.send(0, value);

diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.actor.lib/original-src/ptolemy/actor/lib/TrigFunction.java osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/TrigFunction.java
89c89
<  The following functions in java.lang.Math are implemented elsewhere:</p>
---
>  <p> The following functions in java.lang.Math are implemented elsewhere:</p>

diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.actor.lib/original-src/ptolemy/actor/lib/io/DirectoryListing.java osgi-2-0/ptolemy.actor.lib/original-src/ptolemy/actor/lib/io/DirectoryListing.java
59a60
> import ptolemy.util.FileUtilities;
366a368,370
>         // Follow redirects such as http -> https.
>         sourceURL = FileUtilities.followRedirects(sourceURL);
>
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/original-src/ptolemy/actor/AtomicActor.java osgi-2-0/ptolemy.core/original-src/ptolemy/actor/AtomicActor.java
171a172,185
>
>         // When super.clone() is called below, attributes that are
>         // contained in this actor are also cloned, which includes
>         // calling methods on these attributes such as setContainer().
>         // These methods may add themselves to the firing listeners
>         // or initializables lists in the newObject clone, so we do
>         // not want to clear these lists in newObject after super.clone().
>         // Instead, save this instance's lists here and restore them after
>         // call super.clone().
>         LinkedList<ActorFiringListener> oldActorFiringListeners = _actorFiringListeners;
>         _actorFiringListeners = null;
>         Set<Initializable> oldInitializables = _initializables;
>         _initializables = null;
>
174a189,191
>         _initializables = oldInitializables;
>         _actorFiringListeners = oldActorFiringListeners;
>
176d192
<         newObject._initializables = null;
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/original-src/ptolemy/actor/CompositeActor.java osgi-2-0/ptolemy.core/original-src/ptolemy/actor/CompositeActor.java
280a281,282
>         LinkedList<ActorFiringListener> oldActorFiringListeners = _actorFiringListeners;
>         _actorFiringListeners = null;
288a291
>         _actorFiringListeners = oldActorFiringListeners;
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/original-src/ptolemy/actor/IOPort.java osgi-2-0/ptolemy.core/original-src/ptolemy/actor/IOPort.java
1391a1392,1403
>     /** Get the listeners for IOPortEvents.
>      * @return The a copy of the list of listeners for IOPortEvents,
>      * if any. Otherwise an empty list.
>      */
>     public List<IOPortEventListener> getIOPortEventListeners() {
>         List<IOPortEventListener> listeners = new LinkedList<IOPortEventListener>();
>         if (_hasPortEventListeners) {
>             listeners.addAll(_portEventListeners);
>         }
>         return listeners;
>     }
>

diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/original-src/ptolemy/actor/Manager.java osgi-2-0/ptolemy.core/original-src/ptolemy/actor/Manager.java
148d147
<         _registerShutdownHook();
160d158
<         _registerShutdownHook();
176d173
<         _registerShutdownHook();
353a351,355
>                 // Register the shutdown hook each time we register as
>                 // opposed to each time a Manager is instantiated.
>                 // See
>                 // https://projects.ecoinformatics.org/ecoinfo/issues/7189
>                 _registerShutdownHook();
449a452,455
>                 // Remove the _shutdownThread.
>                 // See https://projects.ecoinformatics.org/ecoinfo/issues/7189
>                 _disposeOfThreads();
>
545,547c551,556
<             if (_thread != null) {
<                 _disposeOfThreads();
<             }
---
>         // Don't need to invoke _disposeOfThreads()
>             // here because it is invoked in the finally clause
>             // of execute().
>             // if (_thread != null || _shutdownThread != null) {
>             //     _disposeOfThreads();
>             // }
981c990
<                         "The model is already running.");
---
>                         "The model is not idle, it is " + _state.getDescription());
1257,1258c1266,1271
<         } finally {
<             _disposeOfThreads();
---
>
>             // Used to call _disposeOfThreads() here, but now exeucte()
>             // calls it in its finally block.
>             // } finally {
>             //  _disposeOfThreads();
>
1475,1476c1488,1489
<      *  composite actor.  The state of the manager will be set to
<      *  WRAPPING_UP.
---
>      *  composite actor.
>      *  At the end of this model, the state is set to idle.
1481a1495
>         try {
1522,1523c1536,1541
<
<         // Wrapup completed successfully
---
>         } finally {
>             // We must set the state to IDLE here even if
>             // we entered wrapup() and the state was IDLE or WRAPPING_UP.
>             // If we don't set the state to IDLE, then if an accessor
>             // has an error in wrapup, the model will always be
>             // stuck in WRAPPING_UP.
1525a1544
>     }
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/original-src/ptolemy/data/DateToken.java osgi-2-0/ptolemy.core/original-src/ptolemy/data/DateToken.java
430c430
<      *  @see #setTimeInMilliseconds()
---
>      *  @see #setTimeInMilliseconds(long)
584,585c584,585
<      *  @paramn The time as a long value.
<      *  @see #getTimeInMilliseconds();
---
>      *  @param newValue The time as a long value.
>      *  @see #getTimeInMilliseconds()
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/original-src/ptolemy/data/expr/Constants.java osgi-2-0/ptolemy.core/original-src/ptolemy/data/expr/Constants.java
49a50
> import ptolemy.data.type.Type;
131a133,144
>     /** Given a name defining a type, return the type, or null if
>      *  there is no such type.
>      *  @param name The type name.
>      */
>     public static Type nameToType(String name) {
>         ptolemy.data.Token token = _types.get(name);
>         if (token != null) {
>             return token.getType();
>         }
>         return null;
>     }
>
141,142c154,155
<     /** Return a copy of the types.
<      *  @return a copy of the hash table tha name types.
---
>     /** Return a map from names to types, with the names sorted alphabetically.
>      *  @return A copy of the table of named types.
149c162
<         return new TreeMap(_types);
---
>         return _types;
160c173,174
<     private static TreeMap _types = new TreeMap();
---
>     private static TreeMap<String,ptolemy.data.Token> _types
>             = new TreeMap<String,ptolemy.data.Token>();
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/original-src/ptolemy/data/expr/Variable.java osgi-2-0/ptolemy.core/original-src/ptolemy/data/expr/Variable.java
458a459,464
>             // hoc/test/auto/RunCompositeActor4.xml was throwing a NPE here.
>             if (_parseTree == null) {
>                 throw new InternalErrorException(this, null,
>                         "getFreeIdentifiers(): failed to set _parseTree? _parseTree is null, "
>                         + "_parseTreeValid is " + _parseTreeValid);
>
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/original-src/ptolemy/data/type/BaseType.java osgi-2-0/ptolemy.core/original-src/ptolemy/data/type/BaseType.java
157c157,160
<      *  or null if none exists.
---
>      *  or null if none exists. Note that this does not recognize
>      *  all the types that have symbolic names. It is better to
>      *  use ptolemy.data.expr.Constants.types() to map a name
>      *  to a type.
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/original-src/ptolemy/kernel/util/NamedObj.java osgi-2-0/ptolemy.core/original-src/ptolemy/kernel/util/NamedObj.java
495a496,499
>             // Since _debugListeners is null, _debugging should be
>             // false to avoid error message in _debug()
>             newObject._debugging = false;
>
542a547,572
>                         // PortParameters are
>                         // AbstractInitializableParameters that end up
>                         // adding HierarchyListeners to the
>                         // initializable container of the actor.  This
>                         // results in a memory leak, so we remove
>                         // parameters that are HierarchyListeners.
>                         // See https://projects.ecoinformatics.org/ecoinfo/issues/7190
>                         if (newParameter instanceof HierarchyListener) {
>                             if (newParameter.getContainer() != null) {
>                                 NamedObj newContainerContainer = newParameter.getContainer().getContainer();
>                                 NamedObj oldContainer = getContainer();
>                                 // FIXME: This is probably a serious
>                                 // problem that the container of the
>                                 // container of the parameter in the
>                                 // clone is the same as the container
>                                 // of original master NamedObj.  Part
>                                 // of the issue here is that NamedObj
>                                 // does not have setContainer().  What
>                                 // we would really like to do is to
>                                 // set the container to null during
>                                 // cloning.
>                                 if (newContainerContainer != null && newContainerContainer == oldContainer) {
>                                     newContainerContainer.removeHierarchyListener((HierarchyListener)newParameter);
>                                 }
>                             }
>                         })
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/original-src/ptolemy/util/StringUtilities.java osgi-2-0/ptolemy.core/original-src/ptolemy/util/StringUtilities.java
485,486c485,486
<                             if (namedObjFileName.startsWith("file:/")
<                                     || namedObjFileName.startsWith("file:\\")) {
---
>                             if (namedObjFileName.startsWith("file://")
>                                     || namedObjFileName.startsWith("file:\\\\")) {
697a698,704
>      *  If the PTOLEMYII_DOT environment variable is set, then
>      *  that value is used, otherwise the Java user.home property
>      *  is used
>      *
>      *  The PTOLEMYII_DOT environment variable is used to support
>      *  invoking multiple Kepler processes.
>      *
705,708c712,727
<         String preferencesDirectoryName = StringUtilities
<                 .getProperty("user.home")
<                 + File.separator
<                 + StringUtilities.PREFERENCES_DIRECTORY + File.separator;
---
>         String baseDirectory = System.getProperty("user.home");
>         try {
>             if (System.getenv("PTOLEMYII_DOT") != null) {
>                 baseDirectory = System.getenv("PTOLEMYII_DOT");
>                 if (baseDirectory.endsWith(File.separator)) {
>                     baseDirectory = baseDirectory.substring(0, baseDirectory.length() - 1);
>                 }
>             }
>         } catch (SecurityException ex) {
>             // Ignore, we are probably in an applet.
>         }
>         String preferencesDirectoryName =
>             baseDirectory +
>             File.separator +
>             StringUtilities.PREFERENCES_DIRECTORY + File.separator;
>
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.core/src/org/ptolemy/classloading/osgi/OSGiClassLoadingStrategy.java osgi-2-0/ptolemy.core/src/org/ptolemy/classloading/osgi/OSGiClassLoadingStrategy.java
106c106
<   public boolean addModelElementClassProvider(ModelElementClassProvider classProvider) {
---
>   public void addModelElementClassProvider(ModelElementClassProvider classProvider) {
110c110
<     return _modelElementClassProviders.add(classProvider);
---
>     _modelElementClassProviders.add(classProvider);
120c120
<   public boolean removeModelElementClassProvider(ModelElementClassProvider classProvider) {
---
>   public void removeModelElementClassProvider(ModelElementClassProvider classProvider) {
124c124
<     return _modelElementClassProviders.remove(classProvider);
---
>     _modelElementClassProviders.remove(classProvider);
142c142
<   public boolean addActorOrientedClassProvider(ActorOrientedClassProvider classProvider) {
---
>   public void addActorOrientedClassProvider(ActorOrientedClassProvider classProvider) {
146c146
<     return _actorOrientedClassProviders.add(classProvider);
---
>     _actorOrientedClassProviders.add(classProvider);
156,157c156,157
<   public boolean removeActorOrientedClassProvider(ActorOrientedClassProvider classProvider) {
<     return _actorOrientedClassProviders.remove(classProvider);
---
>   public void removeActorOrientedClassProvider(ActorOrientedClassProvider classProvider) {
>     _actorOrientedClassProviders.remove(classProvider);
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.moml/original-src/ptolemy/moml/filter/ClassChanges.java osgi-2-0/ptolemy.moml/original-src/ptolemy/moml/filter/ClassChanges.java
230a231,234
>         // Rhino JavaScript
>         _classChanges.put("ptolemy.actor.lib.js.JavaScript",
>                 "ptolemy.actor.lib.jjs.JavaScript");
>
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.moml/original-src/ptolemy/moml/filter/PortNameChanges.java \
osgi-2-0/ptolemy.moml/original-src/ptolemy/moml/filter/PortNameChanges.java
365a366,373
>
>         // Rhino actor/lib/js/JavaScript is now Nashorn actor/lib/jjs/JavaScript.
>         // The old had a scriptIn port.
>         HashMap javaScriptPorts = new HashMap();
>         javaScriptPorts.put("scriptIn", "script");
>         _actorsWithPortNameChanges.put("ptolemy.actor.lib.jjs.JavaScript",
>                 javaScriptPorts);
>
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.moml/original-src/ptolemy/moml/filter/PropertyClassChanges.java osgi-2-0/ptolemy.moml/original-src/ptolemy/moml/filter/PropertyClassChanges.java
704a705,720
>
>         // Rhino JavaScript
>         HashMap jsJavaScriptClassChanges = new HashMap();
>
>         // Key = property name, Value = new class name
>
>         // Needed by: org/ptolemy/ptango/demo/Exception/Exception.xml
>
>         jsJavaScriptClassChanges.put("script",
>                 "ptolemy.actor.parameters.PortParameter");
>
>         _actorsWithPropertyClassChanges.put(
>                 "ptolemy.actor.lib.jjs.JavaScript",
>                 jsJavaScriptClassChanges);
>
>
diff -I @version -I Copyright -rwb -x .svn osgi-2-0-cq-1/ptolemy.moml/original-src/ptolemy/moml/filter/RelationWidthChanges.\
java osgi-2-0/ptolemy.moml/original-src/ptolemy/moml/filter/RelationWidthChanges.java
114c114,115
<         } else if (element.equals("relation") && attributeName.equals("class")) {
---
>         } else if (element != null && element.equals("relation") &&
>                    attributeName != null && attributeName.equals("class")) {
cxbrooks commented 7 years ago

Probably the thing to do is to look at the source jars in https://chess.eecs.berkeley.edu/triq/p2/osgi-2-0-2/plugins/ and compare them with the submitted jars for the science triqiuetrum cq in https://dev.eclipse.org/ipzilla/

cxbrooks commented 7 years ago

I've compared the source jars in https://chess.eecs.berkeley.edu/triq/p2/osgi-2-0-2/plugins/ and the submitted jars for the science triquetrum cq in https://dev.eclipse.org/ipzilla/

It looks like the bundles that need to be cq'd are

A few comments:

##Source Bundle Localization                                                                                   
#Wed Feb 10 15:51:53 CET 2016                                                                                  
pluginName=diva.source

Is it a problem that the new bundles do not?

cxbrooks commented 7 years ago
erwindl0 commented 7 years ago

I checked the changes, and they seem to be all fine (did it in the PtII SVN repo directly). The detailed version updates for changed packages/bundles are a nice detail! (cfr semantic versioning)

The properties files for internationalization are not an issue. My impression is that they are a result of the build, and the difference between the CQ-ed and new source jars is related to a change in Tycho's approach I think : http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=f290bd4e4ed15a23d231a04a402faf94b99d3213

For the feature version : wouldn't you use the highest Ptolemy bundle version nr, i.e. 11.1.0 in this case?

cxbrooks commented 7 years ago

I updated the Ptolemy feature to 11.1.0 and made the vendor strings more uniform. I'm going to submit the cqs now.

cxbrooks commented 7 years ago

I've submitted these and uploaded the source code from https://chess.eecs.berkeley.edu/triq/p2/osgi-2-0-2/plugins/

14158 | awaiting_pmc | P3 | new | emo-ip-... | NEW |   | ptolemy.actor.lib 11.1 14159 | awaiting_pmc | P3 | new | emo-ip-... | NEW |   | ptolemy.core 11.1 14160 | awaiting_committer | P3 | new | emo-ip-... | NEW |   | ptolemy.gui 11.1 14161 | new | P3 | new | emo-ip-... | NEW |   | ptolemy.moml 11.1

To close this, we need to handle two items in https://github.com/eclipse/triquetrum/issues/215#issuecomment-325480843

erwindl0 commented 7 years ago

I see you’ve set iSencia as vendor for the bundle org.eclipse.triquetrum.workflow.aoc.repository, but that’s not OK.

All Triquetrum bundles should have Eclipse Triquetrum as vendor.

From: Christopher Brooks [mailto:notifications@github.com] Sent: Saturday, September 9, 2017 12:03 AM To: eclipse/triquetrum triquetrum@noreply.github.com Cc: erwin de ley erwindl0@gmail.com; Comment comment@noreply.github.com Subject: Re: [eclipse/triquetrum] Update Ptolemy Plugins (#215)

I updated the Ptolemy feature to 11.1.0 and made the vendor strings more uniform. I'm going to submit the cqs now.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/eclipse/triquetrum/issues/215#issuecomment-328224374 , or mute the thread https://github.com/notifications/unsubscribe-auth/AGKZ4ZSoalVBo6hi5xR32xShhWhqDO5Iks5sgbmegaJpZM4MqqSa .

cxbrooks commented 7 years ago

Ah. Good point. IIRC The org.eclipse.triquetrum.workflow.aoc.repository originally had "iSencia" as the bundle or it was blank, I'm not sure. I mistakenly set it to "iSencia Belgium NV" so as to match the other vendors in the osgi-2-0 repo.

Just now I fixed that.

Thanks for catching this.

cxbrooks commented 7 years ago

To close this, we need to

erwindl0 commented 7 years ago

Rearranged the wiki doc a bit between https://wiki.eclipse.org/Triquetrum/Ptolemy/Porting and https://wiki.eclipse.org/Triquetrum/Extending_Triquetrum

Icon adaptations are documented on https://wiki.eclipse.org/Triquetrum/Ptolemy/Porting#Icon_adaptation_requirements

cxbrooks commented 7 years ago

The last CQ was approved. This can be closed!