From b69be40980e26947f66d73fbba7a8f7dd7605a3f Mon Sep 17 00:00:00 2001
From: Iustin Pop <iustin@google.com>
Date: Thu, 22 Dec 2011 15:58:30 +0100
Subject: [PATCH] Stop exporting JSON functionality from Utils.hs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This completes the Utils/JSON split started in commit f047f90f. The
import graph should be cleaner now.

Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: RenΓ© Nussbaumer <rn@google.com>
---
 htools/Ganeti/HTools/IAlloc.hs |  2 +-
 htools/Ganeti/HTools/Luxi.hs   |  3 +--
 htools/Ganeti/HTools/QC.hs     |  5 +++--
 htools/Ganeti/HTools/Rapi.hs   |  2 +-
 htools/Ganeti/HTools/Utils.hs  | 14 --------------
 htools/Ganeti/Luxi.hs          |  2 +-
 htools/Ganeti/OpCodes.hs       |  3 +--
 7 files changed, 8 insertions(+), 23 deletions(-)

diff --git a/htools/Ganeti/HTools/IAlloc.hs b/htools/Ganeti/HTools/IAlloc.hs
index 8c4a415cf..26b7ea698 100644
--- a/htools/Ganeti/HTools/IAlloc.hs
+++ b/htools/Ganeti/HTools/IAlloc.hs
@@ -47,7 +47,7 @@ import qualified Ganeti.Constants as C
 import Ganeti.HTools.CLI
 import Ganeti.HTools.Loader
 import Ganeti.HTools.ExtLoader (loadExternalData)
-import Ganeti.HTools.Utils
+import Ganeti.HTools.JSON
 import Ganeti.HTools.Types
 
 {-# ANN module "HLint: ignore Eta reduce" #-}
diff --git a/htools/Ganeti/HTools/Luxi.hs b/htools/Ganeti/HTools/Luxi.hs
index 38bb266fc..744aa0544 100644
--- a/htools/Ganeti/HTools/Luxi.hs
+++ b/htools/Ganeti/HTools/Luxi.hs
@@ -38,8 +38,7 @@ import Ganeti.HTools.Types
 import qualified Ganeti.HTools.Group as Group
 import qualified Ganeti.HTools.Node as Node
 import qualified Ganeti.HTools.Instance as Instance
-import Ganeti.HTools.Utils (fromJVal, tryFromObj, asJSObject,
-                            fromObj)
+import Ganeti.HTools.JSON
 
 {-# ANN module "HLint: ignore Eta reduce" #-}
 
diff --git a/htools/Ganeti/HTools/QC.hs b/htools/Ganeti/HTools/QC.hs
index 435d37823..4f749b690 100644
--- a/htools/Ganeti/HTools/QC.hs
+++ b/htools/Ganeti/HTools/QC.hs
@@ -55,6 +55,7 @@ import qualified Ganeti.HTools.Container as Container
 import qualified Ganeti.HTools.ExtLoader
 import qualified Ganeti.HTools.IAlloc as IAlloc
 import qualified Ganeti.HTools.Instance as Instance
+import qualified Ganeti.HTools.JSON as JSON
 import qualified Ganeti.HTools.Loader as Loader
 import qualified Ganeti.HTools.Luxi
 import qualified Ganeti.HTools.Node as Node
@@ -313,9 +314,9 @@ prop_Utils_commaSplitJoin s =
 -- value.
 prop_Utils_fromObjWithDefault def_value random_key =
   -- a missing key will be returned with the default
-  Utils.fromObjWithDefault [] random_key def_value == Just def_value &&
+  JSON.fromObjWithDefault [] random_key def_value == Just def_value &&
   -- a found key will be returned as is, not with default
-  Utils.fromObjWithDefault [(random_key, J.showJSON def_value)]
+  JSON.fromObjWithDefault [(random_key, J.showJSON def_value)]
        random_key (def_value+1) == Just def_value
     where _types = def_value :: Integer
 
diff --git a/htools/Ganeti/HTools/Rapi.hs b/htools/Ganeti/HTools/Rapi.hs
index 261609ba5..803196492 100644
--- a/htools/Ganeti/HTools/Rapi.hs
+++ b/htools/Ganeti/HTools/Rapi.hs
@@ -40,9 +40,9 @@ import Text.JSON (JSObject, fromJSObject, decodeStrict)
 import Text.JSON.Types (JSValue(..))
 import Text.Printf (printf)
 
-import Ganeti.HTools.Utils
 import Ganeti.HTools.Loader
 import Ganeti.HTools.Types
+import Ganeti.HTools.JSON
 import qualified Ganeti.HTools.Group as Group
 import qualified Ganeti.HTools.Node as Node
 import qualified Ganeti.HTools.Instance as Instance
diff --git a/htools/Ganeti/HTools/Utils.hs b/htools/Ganeti/HTools/Utils.hs
index b1898ebe7..d43f3730f 100644
--- a/htools/Ganeti/HTools/Utils.hs
+++ b/htools/Ganeti/HTools/Utils.hs
@@ -31,17 +31,6 @@ module Ganeti.HTools.Utils
   , select
   , applyIf
   , commaJoin
-  , readEitherString
-  , JSRecord
-  , loadJSArray
-  , fromObj
-  , fromObjWithDefault
-  , maybeFromObj
-  , tryFromObj
-  , fromJVal
-  , asJSObject
-  , asObjectList
-  , fromJResult
   , tryRead
   , formatTable
   , parseUnit
@@ -52,9 +41,6 @@ import Data.List
 
 import Debug.Trace
 
--- we will re-export these for our existing users
-import Ganeti.HTools.JSON
-
 -- * Debug functions
 
 -- | To be used only for debugging, breaks referential integrity.
diff --git a/htools/Ganeti/Luxi.hs b/htools/Ganeti/Luxi.hs
index 0af433007..df4c4988f 100644
--- a/htools/Ganeti/Luxi.hs
+++ b/htools/Ganeti/Luxi.hs
@@ -46,7 +46,7 @@ import Text.JSON.Types
 import System.Timeout
 import qualified Network.Socket as S
 
-import Ganeti.HTools.Utils
+import Ganeti.HTools.JSON
 import Ganeti.HTools.Types
 
 import Ganeti.Constants
diff --git a/htools/Ganeti/OpCodes.hs b/htools/Ganeti/OpCodes.hs
index 96905c79d..3ecc6455f 100644
--- a/htools/Ganeti/OpCodes.hs
+++ b/htools/Ganeti/OpCodes.hs
@@ -32,12 +32,11 @@ module Ganeti.OpCodes
   ) where
 
 import Text.JSON (readJSON, showJSON, makeObj, JSON)
-import qualified Text.JSON as J
 
 import qualified Ganeti.Constants as C
 import Ganeti.THH
 
-import Ganeti.HTools.Utils
+import Ganeti.HTools.JSON
 
 -- | Replace disks type.
 $(declareSADT "ReplaceDisksMode"
-- 
GitLab