User Tools

Development blog

A list of memo notes about particular things and problems that may arise from time to time in the various projects in Capsis, and a list of people involved in the co-development community.

fc-16.2.2021 Problems in DRGraph

If a DataExtractor based on DFCurves does not provide labels for its curves (Introgression, Mediterranea), the rendering in DRGraph may not show all the curves at opening time and a zoom out action may be needed.

A fix has been added in GraphConverter to add (1), (2), etc. if the labels are 'equals' to help the autoRange feature in the vertical (range) axis of the JFreeChart XYPlot.

fc-15.12.2020 Add Plotting features to a table

See CsvFileViewer. Warning: this feature relies on cells selection and may work badly in tables where row selection is allowed, e.g. SVController)

// fc-15.12.2020 Add the plotting features on Right-click
PlottingPopup.addPlottingFeaturesToTable(table, false);		
// fc-15.12.2020 Add the standard popup menu on the header

fc-14.12.2020 Mac OS X problems

Problems were reported when using Capsis or AMAPstudio under Mac OS X.

  • 'Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'', Camilo Valdes, 21.10.2020, Francois Pimont, 1.9.2020, this could be fixed by switching from Java 1.8.0_261 to Java 1.8.0_202.

fc-8.12.2020 SVN checkout problems

Lisa Grell (X. Morin) has repeated problems during a checkout:

  • ra_serf: The server sent a truncated HTTP response body
  • RA layer request failed, then REPORT request on '/svn/capsis/!svn/me' failed

This seems to be due to timeouts related connections problems or a slow machine. Repetitive cleanup and update actions could finally solve the problem.

fc-1.12.2020 Phenofit

  • phenofit4 / Fit4: based on Fitlib function (capsis.lib.phenofit.Fitlib*), annual methods, all phenos are processed annually one after the other
  • phenofit5 / Fit5-Fit2018 OR Fit5-Phelib: based on Fit2018 functions (a modernized subpart of Fitlib), daily methods, OR Phelib functions, all phenos are processed daily one after the other. Isabelle Chuine uses Fit5-Phelib. Castaneaonly and PDG rely on Fit5-Fit2018 (only few functions available at this time in Fit2018: UniChillThreshold, UniForc, Fructification2Phases, SenDelpierre, Gauzere).
  • other versions: phenofit5nt / Fit5NT is a Fit5-Fit2018 attempt (without Phelib, discontinued because phenofit5 is the most up to date release), phenofit5frozen / Fit5Frozen is a Fit5 backup copy before replacing Fitlib by Fit2018.

fc-24.11.2020 CapsisExtensionManager, clarified isExport(className) Returned true if instanceof OFormat OR isExport () found by reflection and returned true OR in case of exception during the checking returned true

Now: returns true if className is subclass of OFormat

an extension is an export if it implements OFormat

→ StandRecordSet is a superclass for inventory file loaders, it was implementing OFormat so all subclasses 'could also be' exports, but only some of them actually implemented the export methods. Changed StandRecordSet, it does not implement OFormat any more and changed subclasses to add OFormat only when needed.

→ Deprecated all 'isImport ()' and 'isExport ()' methods, now unused

fc+jb-18.11.2020 Changed species typologies in RReShar and capsis.lib.regeneration

RGVegetationLayer (for vegetationLayers, match classes in regeneration lib)

  • RGCallunaVulgaris.CALLUNA_VULGARIS
  • RGFilicophyta.FILICOPHYTA
  • RGMoliniaCaerulea.MOLINIA_CAERULEA
  • RGQuercusCoccifera.QUERCUS_COCCIFERA
  • RGRubusFructicosus.RUBUS_FRUCTICOSUS

RGSaplings (for saplings, match classes in regeneration lib)

  • RGArbutusUnedo.ARBUTUS_UNEDO
  • RGFraxinusOrnus.FRAXINUS_ORNUS
  • RGSorbusDomestica.SORBUS_DOMESTICA
  • RGQuercusRobur.QUERCUS_ROBUR

RRSSpecies (for trees and cohorts, RReShar level, closed typology, see RRSSpecies.getCrownBaseHeight(), can be changed)


fc-18.11.2020 Viewer3D does not like large values of coordinates When data come from GIS, the coordinates may be very large, e.g. x=850000. They must be shifted back in the sketchLinker to have a correct drawing. A possible approach is to remove stand.origin to all x and y. See Samsa2SketchLinker

fc-17.11.2020 Popup does not open on Windows isPopupTrigger () must be checked on mousePressed() and mouseReleased (), see method comment in MouseEvent.isPopupTrigger (). See PlottingPopup (jeeb-util, CsvFileViewer)

fc-16.11.2020 Ubuntu: open a given file with a given Editor. Right click on the file in the file manager > Properties > Open with > e.g. sublime text

Excel files contain “. Adapt the file loader' correctLine () method to replace them by empty strings

// e.g. Samsa2Inventory
protected String correctLine(String line) {
	// fc+bc-16.11.2020 Remove extra " written by Excel at export time
	line = line.replace("\"", "");
	return line;
development/blog.txt · Last modified: 2021/02/16 09:31 by coligny