From 1e55c63afc36c82b32afcb63a82a987773ad9e6b Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Tue, 17 Apr 2018 09:05:04 +0200
Subject: [PATCH] =?UTF-8?q?=20#46=20modif=20pour=20faire=20d=C3=A9river=20?=
 =?UTF-8?q?ComputeNode=20de=20JalhydObject=20de=20fa=C3=A7on=20=C3=A0=20av?=
 =?UTF-8?q?oir=20un=20uid=20dans=20les=20nubs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/base.ts         | 11 +++++++++--
 src/compute-node.ts | 20 +++++++++++++++++---
 src/session_nub.ts  |  8 ++++++++
 3 files changed, 34 insertions(+), 5 deletions(-)

diff --git a/src/base.ts b/src/base.ts
index 95f88b73..7ab2bd59 100644
--- a/src/base.ts
+++ b/src/base.ts
@@ -1,10 +1,17 @@
 /**
  * Gestion des messages de debogage dans la console
- * @note Etendre cette classe pour toutes les classes à debugguer
+ * @note Implémenter cette interface pour toutes les classes à debugguer
  * Dans le constructeur, utiliser super(true) pour debugger la classe, super(false) sinon.
  */
+
+export interface IDebug {
+    debug(s: any): void;
+
+    readonly DBG: boolean;
+}
+
 // tslint:disable-next-line:max-classes-per-file
-export abstract class Debug {
+export class Debug {
     /**
      * @param _DBG Flag de débuggage
      */
diff --git a/src/compute-node.ts b/src/compute-node.ts
index 212b2894..0eb7661c 100644
--- a/src/compute-node.ts
+++ b/src/compute-node.ts
@@ -1,7 +1,8 @@
-import { Debug } from "./base";
+import { Debug, IDebug } from "./base";
 import { ParamsEquation, IParamDefinitionIterator } from "./param/params-equation";
 import { ParamDefinition } from "./param/param-definition";
 import { ParamValueMode } from "./param/param-values";
+import { JalhydObject } from "./jalhyd_object";
 
 /**
  * type de calculette
@@ -31,11 +32,14 @@ export enum ComputeNodeType {
  * noeud de calcul
  */
 // tslint:disable-next-line:max-classes-per-file
-export abstract class ComputeNode extends Debug {
+export abstract class ComputeNode extends JalhydObject implements IDebug {
     protected _prms: ParamsEquation;
 
+    private _debug: Debug;
+
     constructor(prms: ParamsEquation, dbg: boolean = false) {
-        super(dbg);
+        super();
+        this._debug = new Debug(dbg);
         this._prms = prms;
         if (!this._prms.calculabilityDefined) {
             this._prms.resetParametersCalculability();
@@ -67,4 +71,14 @@ export abstract class ComputeNode extends Debug {
     }
 
     protected abstract setParametersCalculability(): void;
+
+    // interface IDebug
+
+    debug(s: any) {
+        this._debug.debug(s);
+    }
+
+    public get DBG(): boolean {
+        return this._debug.DBG;
+    }
 }
diff --git a/src/session_nub.ts b/src/session_nub.ts
index 55dd6d18..faf6c122 100644
--- a/src/session_nub.ts
+++ b/src/session_nub.ts
@@ -60,6 +60,14 @@ export class SessionNub {
         return this._nub;
     }
 
+    public get uid(): number {
+        return this._nub.uid;
+    }
+
+    public get properties() {
+        return this._props;
+    }
+
     public hasProperties(p: Props | {}): boolean {
         return this._props.hasProperties(p);
     }
-- 
GitLab