diff --git a/nars_core/nars/control/ConceptProcessing.java b/nars_core/nars/control/ConceptProcessing.java index e46d58afebee2e632c6c1fda8f08efbac00788ee..37bc769771ce2f9e2015b126769da6c19038d968 100644 --- a/nars_core/nars/control/ConceptProcessing.java +++ b/nars_core/nars/control/ConceptProcessing.java @@ -7,12 +7,12 @@ import nars.main.Parameters; import nars.entity.*; import nars.inference.TemporalRules; import nars.inference.TruthFunctions; -import nars.io.handlers.OutputHandler; +import nars.io.events.OutputHandler; import nars.io.Symbols; import nars.language.*; import nars.operator.Operation; import nars.plugin.mental.InternalExperience; -import nars.util.Events; +import nars.io.events.Events; import nars.storage.LevelBag; import static nars.inference.LocalRules.revisible; diff --git a/nars_core/nars/control/DerivationContext.java b/nars_core/nars/control/DerivationContext.java index 8183dc9cb4422f69bca5a794c0e4590bd0c1a7dc..47b9e0b4d2735bc3883780188ec421fa5e17651c 100644 --- a/nars_core/nars/control/DerivationContext.java +++ b/nars_core/nars/control/DerivationContext.java @@ -6,11 +6,11 @@ package nars.control; import java.util.ArrayList; import java.util.List; -import nars.util.Events; +import nars.io.events.Events; import nars.storage.Memory; import nars.main.NAR; import nars.main.Parameters; -import nars.util.Plugin; +import nars.plugin.Plugin; import nars.entity.BudgetValue; import nars.entity.Concept; import nars.entity.Sentence; diff --git a/nars_core/nars/control/GeneralInferenceControl.java b/nars_core/nars/control/GeneralInferenceControl.java index 1647eb9125733219b7b895fe0ea37209b492793a..04396291f27682927ce4f3aba5045a7826dbe82b 100644 --- a/nars_core/nars/control/GeneralInferenceControl.java +++ b/nars_core/nars/control/GeneralInferenceControl.java @@ -6,7 +6,7 @@ package nars.control; import nars.main.Parameters; import nars.entity.Concept; -import nars.util.Events; +import nars.io.events.Events; import nars.entity.Task; import nars.entity.TermLink; import nars.inference.BudgetFunctions; diff --git a/nars_core/nars/control/TemporalInferenceControl.java b/nars_core/nars/control/TemporalInferenceControl.java index 099a6b7effe0845bb74230da8780c67baca828f3..9d522bb074c33845cffdcf092d30319c63ef6c12 100644 --- a/nars_core/nars/control/TemporalInferenceControl.java +++ b/nars_core/nars/control/TemporalInferenceControl.java @@ -20,7 +20,7 @@ import nars.language.CompoundTerm; import nars.operator.Operation; import nars.storage.LevelBag; import nars.storage.Memory; -import nars.util.Events; +import nars.io.events.Events; /** * diff --git a/nars_core/nars/entity/BudgetValue.java b/nars_core/nars/entity/BudgetValue.java index 02ade69a964464252a396b5ac9fc5aca36715cbe..88393f22906aa906821bf546a3d4a5c91321b017 100644 --- a/nars_core/nars/entity/BudgetValue.java +++ b/nars_core/nars/entity/BudgetValue.java @@ -25,7 +25,7 @@ import nars.main.Parameters; import static nars.main.Parameters.TRUTH_EPSILON; import nars.inference.BudgetFunctions; import nars.io.Symbols; -import nars.util.Texts; +import nars.io.Texts; import static nars.inference.UtilityFunctions.and; import static nars.inference.UtilityFunctions.aveGeo; import static nars.inference.UtilityFunctions.or; diff --git a/nars_core/nars/entity/Concept.java b/nars_core/nars/entity/Concept.java index 505a8b84f92152f332b6efeb817957e4cc22b2ac..2d26e2d7c6a019b5c831c836a5565ff487624f48 100644 --- a/nars_core/nars/entity/Concept.java +++ b/nars_core/nars/entity/Concept.java @@ -26,11 +26,11 @@ import java.util.Collections; import java.util.List; import nars.control.ConceptProcessing; -import nars.util.Events.BeliefSelect; -import nars.util.Events.TaskLinkAdd; -import nars.util.Events.TaskLinkRemove; -import nars.util.Events.TermLinkAdd; -import nars.util.Events.TermLinkRemove; +import nars.io.events.Events.BeliefSelect; +import nars.io.events.Events.TaskLinkAdd; +import nars.io.events.Events.TaskLinkRemove; +import nars.io.events.Events.TermLinkAdd; +import nars.io.events.Events.TermLinkRemove; import nars.storage.Memory; import nars.main.Shell; import nars.main.Parameters; diff --git a/nars_core/nars/entity/Sentence.java b/nars_core/nars/entity/Sentence.java index 0f0111c95e8c513b46e21c3e76c8991fa6783c95..ba18665a14eb2976c65f0908799bcd69d526b2bf 100644 --- a/nars_core/nars/entity/Sentence.java +++ b/nars_core/nars/entity/Sentence.java @@ -32,7 +32,7 @@ import nars.inference.TemporalRules; import nars.inference.TruthFunctions; import nars.inference.TruthFunctions.EternalizedTruthValue; import nars.io.Symbols; -import nars.util.Texts; +import nars.io.Texts; import nars.language.CompoundTerm; import nars.language.Conjunction; import nars.language.Equivalence; diff --git a/nars_core/nars/entity/TruthValue.java b/nars_core/nars/entity/TruthValue.java index f7ef3cb3bb22a4bef05c636514b19cd52bf239e8..474a8ae7d476abae37e155507a78c5a3e1d9c040 100644 --- a/nars_core/nars/entity/TruthValue.java +++ b/nars_core/nars/entity/TruthValue.java @@ -24,7 +24,7 @@ import java.io.Serializable; import nars.main.Parameters; import static nars.main.Parameters.TRUTH_EPSILON; import nars.io.Symbols; -import nars.util.Texts; +import nars.io.Texts; import nars.language.Term; diff --git a/nars_core/nars/inference/LocalRules.java b/nars_core/nars/inference/LocalRules.java index e4807a05a1a6145443f03d8b029a59832c512929..5c35773165789110b60d6adb8598c0539e99d9f4 100644 --- a/nars_core/nars/inference/LocalRules.java +++ b/nars_core/nars/inference/LocalRules.java @@ -22,8 +22,8 @@ package nars.inference; import java.util.ArrayList; import nars.main.Parameters; -import nars.util.Events.Answer; -import nars.util.Events.Unsolved; +import nars.io.events.Events.Answer; +import nars.io.events.Events.Unsolved; import nars.storage.Memory; import nars.control.DerivationContext; import nars.entity.BudgetValue; @@ -37,7 +37,7 @@ import nars.entity.TruthValue; import static nars.inference.TemporalRules.matchingOrder; import static nars.inference.TemporalRules.reverseOrder; import static nars.inference.TruthFunctions.temporalProjection; -import nars.io.handlers.OutputHandler; +import nars.io.events.OutputHandler; import nars.io.Symbols; import nars.language.CompoundTerm; import static nars.language.CompoundTerm.extractIntervals; diff --git a/nars_core/nars/inference/RuleTables.java b/nars_core/nars/inference/RuleTables.java index 50fc899711b2affce2408753f7a255ba9e6c3697..454ed74e04128385e0b10f247ea8c35fcc9b8e5f 100644 --- a/nars_core/nars/inference/RuleTables.java +++ b/nars_core/nars/inference/RuleTables.java @@ -20,7 +20,7 @@ */ package nars.inference; -import nars.util.Events; +import nars.io.events.Events; import nars.storage.Memory; import nars.main.Parameters; import nars.control.DerivationContext; diff --git a/nars_core/nars/io/Narsese.java b/nars_core/nars/io/Narsese.java index 96873b1f039667b3eff81bb6ecca121ecee54ac1..1ef8d8d9b6184c85bbdecc8920b1aa596f876d36 100644 --- a/nars_core/nars/io/Narsese.java +++ b/nars_core/nars/io/Narsese.java @@ -12,7 +12,6 @@ import nars.entity.Sentence; import nars.entity.Stamp; import nars.entity.Task; import nars.entity.TruthValue; -import nars.util.Texts; import static nars.inference.BudgetFunctions.truthToQuality; import static nars.io.Symbols.ARGUMENT_SEPARATOR; import static nars.io.Symbols.BUDGET_VALUE_MARK; diff --git a/nars_core/nars/io/Symbols.java b/nars_core/nars/io/Symbols.java index cf5ac61f0fee769f088415b649c886c2b7c934b0..8a15821c1cf03e3fac95983a9e1e6ab92f5a06a1 100644 --- a/nars_core/nars/io/Symbols.java +++ b/nars_core/nars/io/Symbols.java @@ -22,9 +22,9 @@ package nars.io; import java.util.HashMap; import java.util.Map; -import nars.io.handlers.OutputHandler.ERR; -import nars.io.handlers.OutputHandler.IN; -import nars.io.handlers.OutputHandler.OUT; +import nars.io.events.OutputHandler.ERR; +import nars.io.events.OutputHandler.IN; +import nars.io.events.OutputHandler.OUT; public class Symbols { diff --git a/nars_core/nars/util/Texts.java b/nars_core/nars/io/Texts.java similarity index 96% rename from nars_core/nars/util/Texts.java rename to nars_core/nars/io/Texts.java index 29ebc47bd2373356bc1f1728260aa5a6ac669394..c9ead4d3d4cdb96b2773d4c2175b2b5f1590f8ea 100644 --- a/nars_core/nars/util/Texts.java +++ b/nars_core/nars/io/Texts.java @@ -1,4 +1,4 @@ -package nars.util; +package nars.io; import nars.io.Symbols; import java.nio.CharBuffer; diff --git a/nars_core/nars/io/handlers/AnswerHandler.java b/nars_core/nars/io/events/AnswerHandler.java similarity index 86% rename from nars_core/nars/io/handlers/AnswerHandler.java rename to nars_core/nars/io/events/AnswerHandler.java index af16a585bd9c9851e4538df29dabd18699f567d0..a19457aa6b347865a6f546c7a22e25595cb18415 100644 --- a/nars_core/nars/io/handlers/AnswerHandler.java +++ b/nars_core/nars/io/events/AnswerHandler.java @@ -2,10 +2,10 @@ * Here comes the text of your license * Each line should be prefixed with * */ -package nars.io.handlers; +package nars.io.events; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events.Answer; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events.Answer; import nars.main.NAR; import nars.entity.Sentence; import nars.entity.Task; diff --git a/nars_core/nars/util/EventEmitter.java b/nars_core/nars/io/events/EventEmitter.java similarity index 99% rename from nars_core/nars/util/EventEmitter.java rename to nars_core/nars/io/events/EventEmitter.java index c8d30394742f89bcf9748b8e5d06f14e698e1858..ce89c39130a559dd8eacbfc15882b606d5ded46a 100644 --- a/nars_core/nars/util/EventEmitter.java +++ b/nars_core/nars/io/events/EventEmitter.java @@ -1,5 +1,5 @@ -package nars.util; +package nars.io.events; import java.util.ArrayDeque; import java.util.ArrayList; diff --git a/nars_core/nars/io/handlers/EventHandler.java b/nars_core/nars/io/events/EventHandler.java similarity index 89% rename from nars_core/nars/io/handlers/EventHandler.java rename to nars_core/nars/io/events/EventHandler.java index ad96546224163ae820f6bd4eda18d1c6c26e2c73..012bde3857d30b85e1232ec68978fbe4d2b37bf7 100644 --- a/nars_core/nars/io/handlers/EventHandler.java +++ b/nars_core/nars/io/events/EventHandler.java @@ -1,7 +1,6 @@ -package nars.io.handlers; +package nars.io.events; import nars.main.NAR; -import nars.util.EventEmitter; /** * diff --git a/nars_core/nars/util/Events.java b/nars_core/nars/io/events/Events.java similarity index 95% rename from nars_core/nars/util/Events.java rename to nars_core/nars/io/events/Events.java index dd522149e0c223e8e21d3d6c971ec8200746d01d..8cb106346404a0b2f76e66b4bb8226dd39cfb315 100644 --- a/nars_core/nars/util/Events.java +++ b/nars_core/nars/io/events/Events.java @@ -1,207 +1,207 @@ -package nars.util; - -import java.util.Arrays; -import java.util.List; -import nars.util.EventEmitter.EventObserver; -import nars.control.GeneralInferenceControl; -import nars.control.DerivationContext; -import nars.entity.Concept; -import nars.entity.Sentence; -import nars.entity.Task; - -/** empty event classes for use with EventEmitter */ -public class Events { - - - /** fired at the beginning of each NAR multi-cycle execution*/ - public static class CyclesStart { } - - /** fired at the end of each NAR multi-cycle execution */ - public static class CyclesEnd { } - - /** fired at the beginning of each memory cycle */ - public static class CycleStart { } - - /** fired at the end of each memory cycle */ - public static class CycleEnd { } - - /** fired at the beginning of each individual Memory work cycle */ - public static class WorkCycleStart { - } - - /** fired at the end of each Memory individual cycle */ - public static class WorkCycleEnd { - } - - /** called before memory.reset() proceeds */ - public static class ResetStart { - } - - /** called after memory.reset() proceeds */ - public static class ResetEnd { - } - - - public static class ConceptNew extends ParametricInferenceEvent<Concept> { - public ConceptNew(Concept c, long when) { - super(c, when); - } - - @Override public String toString() { - return "Concept Created: " + object; - } - } - - public static class Perceive { } - - public static class ConceptForget { } - - public static class EnactableExplainationAdd { } - public static class EnactableExplainationRemove { } - - abstract public static class ConceptBeliefAdd implements EventObserver { - - abstract public void onBeliefAdd(Concept c, Task t, Object[] extra); - - @Override public void event(Class event, Object[] args) { - onBeliefAdd( (Concept)args[0], (Task)args[1], (Object[])args[2]); - } - - } - - abstract public static class ConceptBeliefRemove implements EventObserver { - - abstract public void onBeliefRemove(Concept c, Sentence removed, Task t, Object[] extra); - - @Override public void event(Class event, Object[] args) { - onBeliefRemove( (Concept)args[0], (Sentence)args[1], (Task)args[2], (Object[])args[3]); - } - - } - - public static class ConceptGoalAdd { } - public static class ConceptGoalRemove { } - public static class ConceptQuestionAdd { } - public static class ConceptQuestionRemove { } - - - //Executive & Planning - public static class UnexecutableGoal { } - public static class UnexecutableOperation { } - public static class NewTaskExecution { } - public static class InduceSucceedingEvent { } - - - public static class TermLinkAdd { } - public static class TermLinkRemove { } - public static class TaskLinkAdd { } - public static class TaskLinkRemove { } - - public static class Answer { } - public static class Unsolved { } - - - - abstract public static class ConceptFire implements EventObserver { - - /** - * use: - * Concept n.getCurrentConcept() - * TaskLink n.getCurrentTaskLink() - */ - abstract public void onFire(GeneralInferenceControl n); - - @Override public void event(Class event, Object[] args) { - onFire((GeneralInferenceControl)args[0]); - } - - } - abstract public static class TaskImmediateProcess implements EventObserver { - - abstract public void onProcessed(Task t, DerivationContext n); - - @Override public void event(Class event, Object[] args) { - onProcessed((Task)args[0], (DerivationContext)args[1]); - } - - } - public static class TermLinkSelect { } - public static class BeliefSelect { } - - /** called from RuleTables.reason for a given Belief */ - public static class BeliefReason { } - - public static class ConceptUnification { } //2nd level unification in CompositionalRules - - abstract public static class TaskAdd implements EventObserver { - - abstract public void onTaskAdd(Task t, String reason); - - @Override public void event(Class event, Object[] args) { - onTaskAdd((Task)args[0], (String)args[1]); - } - } - public static class TaskRemove { } - public static class TaskDerive { } - - public static class PluginsChange { } - - //public static class UnExecutedGoal { } - - public static class ConceptDirectProcessedTask { } - - abstract public static class InferenceEvent { - - public final long when; - public final List<StackTraceElement> stack; - - //how many stack frames down to record from; we don't need to include the current and the previous (InferenceEvent subclass's constructor - int STACK_PREFIX = 4; - - protected InferenceEvent(long when) { - this(when, 0); - } - - protected InferenceEvent(long when, int stackFrames) { - this.when = when; - - if (stackFrames > 0) { - List<StackTraceElement> sl = Arrays.asList(Thread.currentThread().getStackTrace()); - - int frame = 0; - - for (StackTraceElement e : sl) { - frame++; - if (e.getClassName().equals("nars.core.NAR")) { - break; - } - } - if (frame - STACK_PREFIX > stackFrames) - frame = STACK_PREFIX + stackFrames; - this.stack = sl.subList(STACK_PREFIX, frame); - } - else { - this.stack = null; - } - } - - public Class getType() { - return getClass(); - } - - } - - abstract public static class ParametricInferenceEvent<O> extends InferenceEvent { - public final O object; - - public ParametricInferenceEvent(O object, long when) { - super(when); - this.object = object; - } - - - - } - - -} +package nars.io.events; + +import java.util.Arrays; +import java.util.List; +import nars.io.events.EventEmitter.EventObserver; +import nars.control.GeneralInferenceControl; +import nars.control.DerivationContext; +import nars.entity.Concept; +import nars.entity.Sentence; +import nars.entity.Task; + +/** empty event classes for use with EventEmitter */ +public class Events { + + + /** fired at the beginning of each NAR multi-cycle execution*/ + public static class CyclesStart { } + + /** fired at the end of each NAR multi-cycle execution */ + public static class CyclesEnd { } + + /** fired at the beginning of each memory cycle */ + public static class CycleStart { } + + /** fired at the end of each memory cycle */ + public static class CycleEnd { } + + /** fired at the beginning of each individual Memory work cycle */ + public static class WorkCycleStart { + } + + /** fired at the end of each Memory individual cycle */ + public static class WorkCycleEnd { + } + + /** called before memory.reset() proceeds */ + public static class ResetStart { + } + + /** called after memory.reset() proceeds */ + public static class ResetEnd { + } + + + public static class ConceptNew extends ParametricInferenceEvent<Concept> { + public ConceptNew(Concept c, long when) { + super(c, when); + } + + @Override public String toString() { + return "Concept Created: " + object; + } + } + + public static class Perceive { } + + public static class ConceptForget { } + + public static class EnactableExplainationAdd { } + public static class EnactableExplainationRemove { } + + abstract public static class ConceptBeliefAdd implements EventObserver { + + abstract public void onBeliefAdd(Concept c, Task t, Object[] extra); + + @Override public void event(Class event, Object[] args) { + onBeliefAdd( (Concept)args[0], (Task)args[1], (Object[])args[2]); + } + + } + + abstract public static class ConceptBeliefRemove implements EventObserver { + + abstract public void onBeliefRemove(Concept c, Sentence removed, Task t, Object[] extra); + + @Override public void event(Class event, Object[] args) { + onBeliefRemove( (Concept)args[0], (Sentence)args[1], (Task)args[2], (Object[])args[3]); + } + + } + + public static class ConceptGoalAdd { } + public static class ConceptGoalRemove { } + public static class ConceptQuestionAdd { } + public static class ConceptQuestionRemove { } + + + //Executive & Planning + public static class UnexecutableGoal { } + public static class UnexecutableOperation { } + public static class NewTaskExecution { } + public static class InduceSucceedingEvent { } + + + public static class TermLinkAdd { } + public static class TermLinkRemove { } + public static class TaskLinkAdd { } + public static class TaskLinkRemove { } + + public static class Answer { } + public static class Unsolved { } + + + + abstract public static class ConceptFire implements EventObserver { + + /** + * use: + * Concept n.getCurrentConcept() + * TaskLink n.getCurrentTaskLink() + */ + abstract public void onFire(GeneralInferenceControl n); + + @Override public void event(Class event, Object[] args) { + onFire((GeneralInferenceControl)args[0]); + } + + } + abstract public static class TaskImmediateProcess implements EventObserver { + + abstract public void onProcessed(Task t, DerivationContext n); + + @Override public void event(Class event, Object[] args) { + onProcessed((Task)args[0], (DerivationContext)args[1]); + } + + } + public static class TermLinkSelect { } + public static class BeliefSelect { } + + /** called from RuleTables.reason for a given Belief */ + public static class BeliefReason { } + + public static class ConceptUnification { } //2nd level unification in CompositionalRules + + abstract public static class TaskAdd implements EventObserver { + + abstract public void onTaskAdd(Task t, String reason); + + @Override public void event(Class event, Object[] args) { + onTaskAdd((Task)args[0], (String)args[1]); + } + } + public static class TaskRemove { } + public static class TaskDerive { } + + public static class PluginsChange { } + + //public static class UnExecutedGoal { } + + public static class ConceptDirectProcessedTask { } + + abstract public static class InferenceEvent { + + public final long when; + public final List<StackTraceElement> stack; + + //how many stack frames down to record from; we don't need to include the current and the previous (InferenceEvent subclass's constructor + int STACK_PREFIX = 4; + + protected InferenceEvent(long when) { + this(when, 0); + } + + protected InferenceEvent(long when, int stackFrames) { + this.when = when; + + if (stackFrames > 0) { + List<StackTraceElement> sl = Arrays.asList(Thread.currentThread().getStackTrace()); + + int frame = 0; + + for (StackTraceElement e : sl) { + frame++; + if (e.getClassName().equals("nars.core.NAR")) { + break; + } + } + if (frame - STACK_PREFIX > stackFrames) + frame = STACK_PREFIX + stackFrames; + this.stack = sl.subList(STACK_PREFIX, frame); + } + else { + this.stack = null; + } + } + + public Class getType() { + return getClass(); + } + + } + + abstract public static class ParametricInferenceEvent<O> extends InferenceEvent { + public final O object; + + public ParametricInferenceEvent(O object, long when) { + super(when); + this.object = object; + } + + + + } + + +} diff --git a/nars_core/nars/io/handlers/OutputHandler.java b/nars_core/nars/io/events/OutputHandler.java similarity index 88% rename from nars_core/nars/io/handlers/OutputHandler.java rename to nars_core/nars/io/events/OutputHandler.java index ec4110ba1e63dea9e2a5680d0512677d0cde9941..11241ecc01f8b0bdac7efe3ab8f8a855eff3bb83 100644 --- a/nars_core/nars/io/handlers/OutputHandler.java +++ b/nars_core/nars/io/events/OutputHandler.java @@ -1,8 +1,7 @@ -package nars.io.handlers; +package nars.io.events; -import nars.io.handlers.EventHandler; -import nars.util.EventEmitter; -import nars.util.Events.Answer; +import nars.io.events.EventHandler; +import nars.io.events.Events.Answer; import nars.storage.Memory; import nars.main.NAR; diff --git a/nars_core/nars/io/handlers/TextOutputHandler.java b/nars_core/nars/io/events/TextOutputHandler.java similarity index 93% rename from nars_core/nars/io/handlers/TextOutputHandler.java rename to nars_core/nars/io/events/TextOutputHandler.java index 0d7d0efbf10ca671021d338a7613702013c9df0b..af5aae241235907e659a29ff296e9174de0d2a12 100644 --- a/nars_core/nars/io/handlers/TextOutputHandler.java +++ b/nars_core/nars/io/events/TextOutputHandler.java @@ -18,10 +18,10 @@ * You should have received a copy of the GNU General Public License * along with Open-NARS. If not, see <http://www.gnu.org/licenses/>. */ -package nars.io.handlers; +package nars.io.events; -import nars.io.handlers.OutputHandler; -import nars.util.Texts; +import nars.io.events.OutputHandler; +import nars.io.Texts; import java.io.FileWriter; import java.io.IOException; import java.io.PrintStream; @@ -29,15 +29,15 @@ import java.io.PrintWriter; import java.io.Serializable; import java.io.StringWriter; import java.util.Arrays; -import nars.util.Events.Answer; +import nars.io.events.Events.Answer; import nars.main.NAR; import nars.entity.Sentence; import nars.entity.Task; -import nars.io.handlers.OutputHandler.ECHO; -import nars.io.handlers.OutputHandler.ERR; -import nars.io.handlers.OutputHandler.EXE; -import nars.io.handlers.OutputHandler.IN; -import nars.io.handlers.OutputHandler.OUT; +import nars.io.events.OutputHandler.ECHO; +import nars.io.events.OutputHandler.ERR; +import nars.io.events.OutputHandler.EXE; +import nars.io.events.OutputHandler.IN; +import nars.io.events.OutputHandler.OUT; /** * To read and write experience as Task streams diff --git a/nars_core/nars/language/Term.java b/nars_core/nars/language/Term.java index 3e3e06070fb2d6ad9a622fa3119a30606cb60db8..5d4b57185904a65dcf24413cb30cbf9f334d1c56 100644 --- a/nars_core/nars/language/Term.java +++ b/nars_core/nars/language/Term.java @@ -29,7 +29,7 @@ import nars.operator.ImaginationSpace; import nars.inference.TemporalRules; import nars.io.Symbols; import nars.io.Symbols.NativeOperator; -import nars.util.Texts; +import nars.io.Texts; import nars.operator.Operation; import nars.operator.Operator; //import nars.util.sort.SortedList; diff --git a/nars_core/nars/language/Variable.java b/nars_core/nars/language/Variable.java index a19136d4ab9d29f225ddffc220c99660ad73cfb1..a26c400a100b5a25f294a076c351607cdda88a52 100644 --- a/nars_core/nars/language/Variable.java +++ b/nars_core/nars/language/Variable.java @@ -25,7 +25,7 @@ import nars.main.Parameters; import static nars.io.Symbols.VAR_DEPENDENT; import static nars.io.Symbols.VAR_INDEPENDENT; import static nars.io.Symbols.VAR_QUERY; -import nars.util.Texts; +import nars.io.Texts; import static nars.language.Variable.newName; /** diff --git a/nars_core/nars/main/NAR.java b/nars_core/nars/main/NAR.java index 214446d19c6abb67dfb5e0e3a8c591c34c980e19..0df55f506eeb3dff7338f328e3eed8f064a8b2aa 100644 --- a/nars_core/nars/main/NAR.java +++ b/nars_core/nars/main/NAR.java @@ -1,10 +1,10 @@ package nars.main; import java.io.BufferedReader; -import nars.util.Plugin; +import nars.plugin.Plugin; import nars.storage.Memory; -import nars.util.Events; -import nars.util.EventEmitter; +import nars.io.events.Events; +import nars.io.events.EventEmitter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -20,15 +20,15 @@ import java.util.List; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import nars.util.EventEmitter.EventObserver; +import nars.io.events.EventEmitter.EventObserver; import nars.entity.BudgetValue; import nars.entity.Concept; import nars.entity.Sentence; import nars.entity.Stamp; import nars.entity.Task; import nars.language.Interval; -import nars.io.handlers.AnswerHandler; -import nars.io.handlers.OutputHandler.ERR; +import nars.io.events.AnswerHandler; +import nars.io.events.OutputHandler.ERR; import nars.io.Symbols; import nars.io.Narsese; import nars.io.Narsese.InvalidInputException; @@ -37,8 +37,8 @@ import nars.operator.Operator; import nars.perception.SensoryChannel; import nars.language.Term; import nars.storage.LevelBag; -import nars.util.Events.CyclesEnd; -import nars.util.Events.CyclesStart; +import nars.io.events.Events.CyclesEnd; +import nars.io.events.Events.CyclesStart; /** diff --git a/nars_core/nars/main/Shell.java b/nars_core/nars/main/Shell.java index 6a67b378844735a718f6c30fbfe71f7cf59721f1..9ea4c11d1258b73257c69068fff21e889988a84f 100644 --- a/nars_core/nars/main/Shell.java +++ b/nars_core/nars/main/Shell.java @@ -26,7 +26,7 @@ import java.io.PrintWriter; import java.util.logging.Level; import java.util.logging.Logger; import nars.main.NAR; -import nars.io.handlers.TextOutputHandler; +import nars.io.events.TextOutputHandler; /** * Run Reasoner diff --git a/nars_core/nars/operator/Operator.java b/nars_core/nars/operator/Operator.java index 90c409ca51788910c005fccb21c46512376ef52a..399a4fcf9f6eafa2aecb4c34fc2ce64c2b74ab51 100644 --- a/nars_core/nars/operator/Operator.java +++ b/nars_core/nars/operator/Operator.java @@ -21,7 +21,7 @@ package nars.operator; -import nars.util.Plugin; +import nars.plugin.Plugin; import java.util.Arrays; import java.util.List; import nars.storage.Memory; @@ -30,7 +30,7 @@ import nars.main.Parameters; import nars.entity.BudgetValue; import nars.entity.Task; import nars.entity.TruthValue; -import nars.io.handlers.OutputHandler.EXE; +import nars.io.events.OutputHandler.EXE; import nars.language.Product; import nars.language.Statement; import nars.language.Term; diff --git a/nars_core/nars/operator/mental/Anticipate.java b/nars_core/nars/operator/mental/Anticipate.java index 382139ee1bb6b36a3936c0865511a55139646631..3833fa8d6f714630c6ce8fb7f1ee2827a5bca300 100644 --- a/nars_core/nars/operator/mental/Anticipate.java +++ b/nars_core/nars/operator/mental/Anticipate.java @@ -28,9 +28,9 @@ import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events; -import nars.util.Events.CycleEnd; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events; +import nars.io.events.Events.CycleEnd; import nars.storage.Memory; import nars.main.NAR; import nars.main.Parameters; @@ -41,9 +41,9 @@ import nars.entity.Stamp; import nars.entity.Task; import nars.entity.TruthValue; import nars.inference.BudgetFunctions; -import nars.io.handlers.OutputHandler.ANTICIPATE; -import nars.io.handlers.OutputHandler.CONFIRM; -import nars.io.handlers.OutputHandler.DISAPPOINT; +import nars.io.events.OutputHandler.ANTICIPATE; +import nars.io.events.OutputHandler.CONFIRM; +import nars.io.events.OutputHandler.DISAPPOINT; import nars.io.Symbols; import nars.language.Interval; import nars.language.Product; diff --git a/nars_core/nars/operator/misc/MathExpression.java b/nars_core/nars/operator/misc/MathExpression.java index d6a4edfcc653f3cc60e989b12b4be8dd6b3c68cd..ea4c296d0d7c1831e9589f91126046ba99613dbf 100644 --- a/nars_core/nars/operator/misc/MathExpression.java +++ b/nars_core/nars/operator/misc/MathExpression.java @@ -2,8 +2,8 @@ package nars.operator.misc; import java.util.List; import nars.storage.Memory; -import nars.util.Texts; -import static nars.util.Texts.unescape; +import nars.io.Texts; +import static nars.io.Texts.unescape; import nars.language.Inheritance; import nars.language.Product; import nars.language.Term; diff --git a/nars_core/nars/util/Plugin.java b/nars_core/nars/plugin/Plugin.java similarity index 94% rename from nars_core/nars/util/Plugin.java rename to nars_core/nars/plugin/Plugin.java index bad436e65b93c58bea7f746e47df7dd115e6f8cb..3daf93723da5d07b2314cf9916c3212f8beee9b7 100644 --- a/nars_core/nars/util/Plugin.java +++ b/nars_core/nars/plugin/Plugin.java @@ -1,4 +1,4 @@ -package nars.util; +package nars.plugin; import java.io.Serializable; import nars.main.NAR; diff --git a/nars_core/nars/plugin/mental/Abbreviation.java b/nars_core/nars/plugin/mental/Abbreviation.java index 5ddd47ac4b572fd7bf6e5e64f1610394d4206466..a09710b545a9d18d09977724aa55700b40d2948e 100644 --- a/nars_core/nars/plugin/mental/Abbreviation.java +++ b/nars_core/nars/plugin/mental/Abbreviation.java @@ -1,10 +1,10 @@ package nars.plugin.mental; -import nars.util.Plugin; +import nars.plugin.Plugin; import com.google.common.collect.Lists; import java.util.ArrayList; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events.TaskDerive; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events.TaskDerive; import nars.storage.Memory; import nars.main.NAR; import nars.main.Parameters; diff --git a/nars_core/nars/plugin/mental/Counting.java b/nars_core/nars/plugin/mental/Counting.java index b678b9b614759a9bfd8e227540e3eef0ef74beba..f77542cdfc7c4f02072391bbca4d329e9f0d66be 100644 --- a/nars_core/nars/plugin/mental/Counting.java +++ b/nars_core/nars/plugin/mental/Counting.java @@ -1,10 +1,10 @@ package nars.plugin.mental; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events; import nars.storage.Memory; import nars.main.NAR; -import nars.util.Plugin; +import nars.plugin.Plugin; import nars.entity.BudgetValue; import nars.entity.Sentence; import nars.entity.Stamp; diff --git a/nars_core/nars/plugin/mental/Emotions.java b/nars_core/nars/plugin/mental/Emotions.java index edb6f3f335b013cecc356e06b0a361e09f8afa79..e09213e8b62bcf727c0c3c1555e0d229b618abc3 100644 --- a/nars_core/nars/plugin/mental/Emotions.java +++ b/nars_core/nars/plugin/mental/Emotions.java @@ -13,7 +13,7 @@ import nars.io.Symbols; import nars.language.Inheritance; import nars.language.SetInt; import nars.language.Term; -import nars.util.Plugin; +import nars.plugin.Plugin; /** emotional value; self-felt internal mental states; variables used to record emotional values */ public class Emotions implements Plugin { diff --git a/nars_core/nars/plugin/mental/InternalExperience.java b/nars_core/nars/plugin/mental/InternalExperience.java index eed934de62523c579de43ce5cbb6787c13bd1daf..17b15c545ecabf9830abb0978da09883d005b49f 100644 --- a/nars_core/nars/plugin/mental/InternalExperience.java +++ b/nars_core/nars/plugin/mental/InternalExperience.java @@ -1,9 +1,9 @@ package nars.plugin.mental; -import nars.util.Plugin; +import nars.plugin.Plugin; import java.util.Arrays; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events; import nars.storage.Memory; import nars.main.NAR; import nars.main.Parameters; diff --git a/nars_core/nars/plugin/misc/RuntimeNARSettings.java b/nars_core/nars/plugin/misc/RuntimeNARSettings.java index 0cc6a2f9214f8a03ef28e74a643269c86d706b1b..8f655327ebcd054be2261781e2dd641d3453ade2 100644 --- a/nars_core/nars/plugin/misc/RuntimeNARSettings.java +++ b/nars_core/nars/plugin/misc/RuntimeNARSettings.java @@ -5,7 +5,7 @@ package nars.plugin.misc; -import nars.util.Plugin; +import nars.plugin.Plugin; import nars.main.NAR; import nars.main.Parameters; diff --git a/nars_core/nars/storage/Memory.java b/nars_core/nars/storage/Memory.java index 0cd2b0bad1426b06ab8b85a0e0af9279b9ebddd9..e02eb0f8320565893cae39de4702c72435528a27 100644 --- a/nars_core/nars/storage/Memory.java +++ b/nars_core/nars/storage/Memory.java @@ -21,8 +21,8 @@ package nars.storage; import nars.control.ConceptProcessing; -import nars.util.Events; -import nars.util.EventEmitter; +import nars.io.events.Events; +import nars.io.events.EventEmitter; import java.io.Serializable; import java.util.ArrayDeque; import java.util.Arrays; @@ -34,9 +34,9 @@ import java.util.Random; import nars.main.NAR; import nars.main.NAR.RuntimeParameters; import nars.main.Parameters; -import nars.util.Events.ResetEnd; -import nars.util.Events.ResetStart; -import nars.util.Events.TaskRemove; +import nars.io.events.Events.ResetEnd; +import nars.io.events.Events.ResetStart; +import nars.io.events.Events.TaskRemove; import nars.control.DerivationContext; import nars.control.GeneralInferenceControl; import nars.control.TemporalInferenceControl; @@ -50,8 +50,8 @@ import nars.entity.Task; import nars.entity.TruthValue; import nars.inference.BudgetFunctions; import static nars.inference.BudgetFunctions.truthToQuality; -import nars.io.handlers.OutputHandler.IN; -import nars.io.handlers.OutputHandler.OUT; +import nars.io.events.OutputHandler.IN; +import nars.io.events.OutputHandler.OUT; import nars.io.Symbols; import nars.language.Tense; import nars.language.Term; diff --git a/nars_gui/nars/gui/InferenceLogger.java b/nars_gui/nars/gui/InferenceLogger.java index 33bb5a1fdaf2f00c59e48cb04256fe754d80a484..080d05bc99be32923e8ada19a8ebe69abe5a48af 100644 --- a/nars_gui/nars/gui/InferenceLogger.java +++ b/nars_gui/nars/gui/InferenceLogger.java @@ -24,9 +24,9 @@ import java.io.PrintStream; import java.util.Arrays; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; -import nars.util.Events.ConceptNew; -import nars.util.Events.TaskAdd; -import nars.util.Events.TaskRemove; +import nars.io.events.Events.ConceptNew; +import nars.io.events.Events.TaskAdd; +import nars.io.events.Events.TaskRemove; import nars.main.NAR; import nars.entity.Concept; import nars.entity.Task; diff --git a/nars_gui/nars/gui/NARControls.java b/nars_gui/nars/gui/NARControls.java index 370b92181ba6713835ea01af5084479f6167a363..ce9e93b0eef22e860b74231f9e53260fb33e2a93 100644 --- a/nars_gui/nars/gui/NARControls.java +++ b/nars_gui/nars/gui/NARControls.java @@ -45,8 +45,8 @@ import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.SwingUtilities; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events; import nars.storage.Memory; import nars.main.NAR; import nars.main.Parameters; @@ -56,11 +56,11 @@ import nars.gui.output.SentenceTablePanel; import nars.gui.output.SwingLogPanel; import nars.gui.output.TaskTree; import nars.gui.output.graph.NARGraphPanel; -import nars.io.handlers.OutputHandler; -import nars.io.handlers.TextOutputHandler; +import nars.io.events.OutputHandler; +import nars.io.events.TextOutputHandler; import nars.language.Interval.PortableInteger; -import nars.util.Events.CycleEnd; -import nars.util.Events.CyclesEnd; +import nars.io.events.Events.CycleEnd; +import nars.io.events.Events.CyclesEnd; public class NARControls extends JPanel implements ActionListener, EventObserver { diff --git a/nars_gui/nars/gui/NARSwing.java b/nars_gui/nars/gui/NARSwing.java index 51a9ddf06fa41def5dddf357da27e326bec2dbe5..f73eba1c91ad50b3b0376ab7e9a20ae4a665933a 100644 --- a/nars_gui/nars/gui/NARSwing.java +++ b/nars_gui/nars/gui/NARSwing.java @@ -30,7 +30,7 @@ import javax.swing.JFrame; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import nars.main.NAR; -import nars.io.handlers.TextOutputHandler; +import nars.io.events.TextOutputHandler; /** * The main Swing GUI class of the open-nars project. diff --git a/nars_gui/nars/gui/graph/SentenceGraph.java b/nars_gui/nars/gui/graph/SentenceGraph.java index 99411d506bb7b1c4ce30fc9d4265e103089b5cc2..52c25941320bf384c30f6199148bc87c9d8682ea 100644 --- a/nars_gui/nars/gui/graph/SentenceGraph.java +++ b/nars_gui/nars/gui/graph/SentenceGraph.java @@ -1,257 +1,257 @@ -package nars.gui.graph; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.NoSuchElementException; -import nars.util.EventEmitter; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events; -import nars.storage.Memory; -import nars.entity.Concept; -import nars.entity.Item; -import nars.entity.Sentence; -import nars.entity.Task; -import nars.language.CompoundTerm; -import nars.language.Interval.PortableDouble; -import nars.language.Statement; -import nars.language.Term; -import org.jgrapht.EdgeFactory; -import org.jgrapht.graph.DirectedMultigraph; - - - -abstract public class SentenceGraph<E> extends DirectedMultigraph<Term, E> implements EventObserver { - public final Memory memory; - - public static class GraphChange { } - - private boolean needInitialConcepts; - private boolean started; - - public final Map<Sentence, List<E>> components = new HashMap(); - - public final EventEmitter event = new EventEmitter( GraphChange.class ); - PortableDouble minConceptPri; - - public SentenceGraph(Memory memory, PortableDouble minConceptPri) { - super(/*null*/new EdgeFactory() { - - @Override public Object createEdge(Object v, Object v1) { - return null; - } - - }); - this.minConceptPri = minConceptPri; - this.memory = memory; - - reset(); - - start(); - - } - - private void setEvents(boolean n) { - if (memory!=null) { - memory.event.set(this, n, - Events.CyclesEnd.class, - Events.ConceptForget.class, - Events.ConceptBeliefAdd.class, - Events.ConceptBeliefRemove.class, - Events.ConceptGoalAdd.class, - Events.ConceptGoalRemove.class, - Events.ResetEnd.class - ); - } - } - - public void start() { - if (started) return; - started = true; - setEvents(true); - } - - public void stop() { - if (!started) return; - started = false; - setEvents(false); - } - - - @Override - public void event(final Class event, final Object[] a) { -// if (event!=FrameEnd.class) -// System.out.println(event + " " + Arrays.toString(a)); - - if (event == Events.ConceptForget.class) { - //remove all associated beliefs - Concept c = (Concept)a[0]; - - //create a clone of the list for thread safety - for (Task b : new ArrayList<Task>(c.beliefs)) { - remove(b.sentence); - } - } - else if (event == Events.ConceptBeliefAdd.class) { - Concept c = (Concept)a[0]; - Sentence s = ((Task)a[1]).sentence; - if(c.getPriority() > minConceptPri.get()) { - add(s, c); - } - } - else if (event == Events.ConceptBeliefRemove.class) { - Concept c = (Concept)a[0]; - Sentence s = (Sentence)a[1]; - remove(s); - } - /*else if (event == Events.ConceptGoalAdd.class) { - Concept c = (Concept)a[0]; - Sentence s = ((Task)a[1]).sentence; - add(s, c); - } - else if (event == Events.ConceptGoalRemove.class) { - Concept c = (Concept)a[0]; - Sentence s = (Sentence)a[1]; - remove(s); - }*/ - else if (event == Events.CyclesEnd.class) { - if (needInitialConcepts) - getInitialConcepts(); - } - else if (event == Events.ResetEnd.class) { - reset(); - } - } - - - - - protected boolean remove(Sentence s) { - List<E> componentList = components.get(s); - if (componentList!=null) { - for (E e : componentList) { - if (!containsEdge(e)) - continue; - Term source = getEdgeSource(e); - Term target = getEdgeTarget(e); - removeEdge(e); - ensureTermConnected(source); - ensureTermConnected(target); - } - componentList.clear(); - components.remove(s); - return true; - } - return false; - } - - public void reset() { - try { - this.removeAllEdges( new ArrayList(edgeSet()) ); - } - catch (Exception e) { - System.err.println(e); - } - - try { - this.removeAllVertices( new ArrayList(vertexSet()) ); - } - catch (Exception e) { - System.err.println(e); - } - - if (!edgeSet().isEmpty()) { - System.err.println(this + " edges not empty after reset()"); - System.exit(1); - } - if (!vertexSet().isEmpty()) { - System.err.println(this + " vertices not empty after reset()"); - System.exit(1); - } - - needInitialConcepts = true; - } - - private void getInitialConcepts() { - needInitialConcepts = false; - - try { - for (final Concept c : memory) { - for (final Task ts : c.beliefs) { - add(ts.sentence, c); - } - } - } - catch (NoSuchElementException e) { } - } - - protected final void ensureTermConnected(final Term t) { - if (inDegreeOf(t)+outDegreeOf(t) == 0) removeVertex(t); - } - - - abstract public boolean allow(Sentence s); - - abstract public boolean allow(CompoundTerm st); - - public boolean remove(final E s) { - if (!containsEdge(s)) - return false; - - Term from = getEdgeSource(s); - Term to = getEdgeTarget(s); - - - boolean r = removeEdge(s); - - - ensureTermConnected(from); - ensureTermConnected(to); - - if (r) - event.emit(GraphChange.class, null, s); - return true; - } - - - protected void addComponents(final Sentence parentSentence, final E edge) { - List<E> componentList = components.get(parentSentence); - if (componentList == null) { - componentList = new ArrayList(1); - components.put(parentSentence, componentList); - } - componentList.add(edge); - } - - public boolean add(final Sentence s, final Item c) { - - if (!allow(s)) - return false; - - if (s.term instanceof CompoundTerm) { - CompoundTerm cs = (CompoundTerm)s.term; - - if (cs instanceof Statement) { - - - Statement st = (Statement)cs; - if (allow(st)) { - - if (add(s, st, c)) { - event.emit(GraphChange.class, st, null); - return true; - } - } - } - - } - - return false; - } - - /** default behavior, may override in subclass */ - abstract public boolean add(final Sentence s, final CompoundTerm ct, final Item c); - - -} +package nars.gui.graph; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import nars.io.events.EventEmitter; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events; +import nars.storage.Memory; +import nars.entity.Concept; +import nars.entity.Item; +import nars.entity.Sentence; +import nars.entity.Task; +import nars.language.CompoundTerm; +import nars.language.Interval.PortableDouble; +import nars.language.Statement; +import nars.language.Term; +import org.jgrapht.EdgeFactory; +import org.jgrapht.graph.DirectedMultigraph; + + + +abstract public class SentenceGraph<E> extends DirectedMultigraph<Term, E> implements EventObserver { + public final Memory memory; + + public static class GraphChange { } + + private boolean needInitialConcepts; + private boolean started; + + public final Map<Sentence, List<E>> components = new HashMap(); + + public final EventEmitter event = new EventEmitter( GraphChange.class ); + PortableDouble minConceptPri; + + public SentenceGraph(Memory memory, PortableDouble minConceptPri) { + super(/*null*/new EdgeFactory() { + + @Override public Object createEdge(Object v, Object v1) { + return null; + } + + }); + this.minConceptPri = minConceptPri; + this.memory = memory; + + reset(); + + start(); + + } + + private void setEvents(boolean n) { + if (memory!=null) { + memory.event.set(this, n, + Events.CyclesEnd.class, + Events.ConceptForget.class, + Events.ConceptBeliefAdd.class, + Events.ConceptBeliefRemove.class, + Events.ConceptGoalAdd.class, + Events.ConceptGoalRemove.class, + Events.ResetEnd.class + ); + } + } + + public void start() { + if (started) return; + started = true; + setEvents(true); + } + + public void stop() { + if (!started) return; + started = false; + setEvents(false); + } + + + @Override + public void event(final Class event, final Object[] a) { +// if (event!=FrameEnd.class) +// System.out.println(event + " " + Arrays.toString(a)); + + if (event == Events.ConceptForget.class) { + //remove all associated beliefs + Concept c = (Concept)a[0]; + + //create a clone of the list for thread safety + for (Task b : new ArrayList<Task>(c.beliefs)) { + remove(b.sentence); + } + } + else if (event == Events.ConceptBeliefAdd.class) { + Concept c = (Concept)a[0]; + Sentence s = ((Task)a[1]).sentence; + if(c.getPriority() > minConceptPri.get()) { + add(s, c); + } + } + else if (event == Events.ConceptBeliefRemove.class) { + Concept c = (Concept)a[0]; + Sentence s = (Sentence)a[1]; + remove(s); + } + /*else if (event == Events.ConceptGoalAdd.class) { + Concept c = (Concept)a[0]; + Sentence s = ((Task)a[1]).sentence; + add(s, c); + } + else if (event == Events.ConceptGoalRemove.class) { + Concept c = (Concept)a[0]; + Sentence s = (Sentence)a[1]; + remove(s); + }*/ + else if (event == Events.CyclesEnd.class) { + if (needInitialConcepts) + getInitialConcepts(); + } + else if (event == Events.ResetEnd.class) { + reset(); + } + } + + + + + protected boolean remove(Sentence s) { + List<E> componentList = components.get(s); + if (componentList!=null) { + for (E e : componentList) { + if (!containsEdge(e)) + continue; + Term source = getEdgeSource(e); + Term target = getEdgeTarget(e); + removeEdge(e); + ensureTermConnected(source); + ensureTermConnected(target); + } + componentList.clear(); + components.remove(s); + return true; + } + return false; + } + + public void reset() { + try { + this.removeAllEdges( new ArrayList(edgeSet()) ); + } + catch (Exception e) { + System.err.println(e); + } + + try { + this.removeAllVertices( new ArrayList(vertexSet()) ); + } + catch (Exception e) { + System.err.println(e); + } + + if (!edgeSet().isEmpty()) { + System.err.println(this + " edges not empty after reset()"); + System.exit(1); + } + if (!vertexSet().isEmpty()) { + System.err.println(this + " vertices not empty after reset()"); + System.exit(1); + } + + needInitialConcepts = true; + } + + private void getInitialConcepts() { + needInitialConcepts = false; + + try { + for (final Concept c : memory) { + for (final Task ts : c.beliefs) { + add(ts.sentence, c); + } + } + } + catch (NoSuchElementException e) { } + } + + protected final void ensureTermConnected(final Term t) { + if (inDegreeOf(t)+outDegreeOf(t) == 0) removeVertex(t); + } + + + abstract public boolean allow(Sentence s); + + abstract public boolean allow(CompoundTerm st); + + public boolean remove(final E s) { + if (!containsEdge(s)) + return false; + + Term from = getEdgeSource(s); + Term to = getEdgeTarget(s); + + + boolean r = removeEdge(s); + + + ensureTermConnected(from); + ensureTermConnected(to); + + if (r) + event.emit(GraphChange.class, null, s); + return true; + } + + + protected void addComponents(final Sentence parentSentence, final E edge) { + List<E> componentList = components.get(parentSentence); + if (componentList == null) { + componentList = new ArrayList(1); + components.put(parentSentence, componentList); + } + componentList.add(edge); + } + + public boolean add(final Sentence s, final Item c) { + + if (!allow(s)) + return false; + + if (s.term instanceof CompoundTerm) { + CompoundTerm cs = (CompoundTerm)s.term; + + if (cs instanceof Statement) { + + + Statement st = (Statement)cs; + if (allow(st)) { + + if (add(s, st, c)) { + event.emit(GraphChange.class, st, null); + return true; + } + } + } + + } + + return false; + } + + /** default behavior, may override in subclass */ + abstract public boolean add(final Sentence s, final CompoundTerm ct, final Item c); + + +} diff --git a/nars_gui/nars/gui/input/KeyboardInputPanel.java b/nars_gui/nars/gui/input/KeyboardInputPanel.java index 4e22a0a0ce9f3e42f2e1283522fdd8ed473d070f..6a6a68de992abf73e84732b008dfdd5ef4279e03 100644 --- a/nars_gui/nars/gui/input/KeyboardInputPanel.java +++ b/nars_gui/nars/gui/input/KeyboardInputPanel.java @@ -14,8 +14,8 @@ import static java.awt.event.KeyEvent.CHAR_UNDEFINED; import java.awt.event.KeyListener; import javax.swing.JTextArea; import nars.main.NAR; -import nars.util.Texts; -import static nars.util.Texts.n2; +import nars.io.Texts; +import static nars.io.Texts.n2; /** * Direct keyboard input diff --git a/nars_gui/nars/gui/input/TextInputPanel.java b/nars_gui/nars/gui/input/TextInputPanel.java index 30d84ad1dc8b598fdacca339a2259180a965be8e..82a6b74eac9838f9d0380655fa8be7db300c80b6 100644 --- a/nars_gui/nars/gui/input/TextInputPanel.java +++ b/nars_gui/nars/gui/input/TextInputPanel.java @@ -53,7 +53,7 @@ import nars.gui.FileTreeModel; import nars.gui.input.TextInputPanel.InputAction; import nars.gui.input.TextInputPanel.TextInputMode; import static nars.gui.output.SwingLogPanel.setConsoleFont; -import nars.io.handlers.OutputHandler.OUT; +import nars.io.events.OutputHandler.OUT; public class TextInputPanel extends NPanel /*implements ActionListener*/ { diff --git a/nars_gui/nars/gui/output/ConceptsPanel.java b/nars_gui/nars/gui/output/ConceptsPanel.java index 5d86808d669fc47fb41a4501919ff8ed590996a5..e8113fdb8bcf690d0bf6deb7a54a4695afe2ab37 100644 --- a/nars_gui/nars/gui/output/ConceptsPanel.java +++ b/nars_gui/nars/gui/output/ConceptsPanel.java @@ -28,9 +28,9 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events; -import nars.util.Events.CyclesEnd; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events; +import nars.io.events.Events.CyclesEnd; import nars.main.NAR; import nars.entity.Concept; import nars.entity.Sentence; diff --git a/nars_gui/nars/gui/output/LogPanel.java b/nars_gui/nars/gui/output/LogPanel.java index 66755f704eb84452ed6d81693f3879cbc7a7746a..d4fb51f7500141bdb1c5bac43efbc4f6f46713ed 100644 --- a/nars_gui/nars/gui/output/LogPanel.java +++ b/nars_gui/nars/gui/output/LogPanel.java @@ -32,11 +32,11 @@ import nars.gui.InferenceLogger; import nars.gui.InferenceLogger.LogOutput; import nars.gui.NARControls; import nars.gui.WrapLayout; -import nars.io.handlers.EventHandler; -import nars.io.handlers.OutputHandler; -import nars.io.handlers.OutputHandler.ERR; -import nars.io.handlers.OutputHandler.EXE; -import nars.io.handlers.TextOutputHandler; +import nars.io.events.EventHandler; +import nars.io.events.OutputHandler; +import nars.io.events.OutputHandler.ERR; +import nars.io.events.OutputHandler.EXE; +import nars.io.events.TextOutputHandler; abstract public class LogPanel extends NPanel implements LogOutput { diff --git a/nars_gui/nars/gui/output/PluginPanel.java b/nars_gui/nars/gui/output/PluginPanel.java index 0ed66f9cbf01e7aacde8c959ff64d40e0efd6ca8..663698fe741e93a45a2aa0a311f75476f5395842 100644 --- a/nars_gui/nars/gui/output/PluginPanel.java +++ b/nars_gui/nars/gui/output/PluginPanel.java @@ -24,11 +24,11 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.border.BevelBorder; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events; import nars.main.NAR; import nars.main.NAR.PluginState; -import nars.util.Plugin; +import nars.plugin.Plugin; import nars.gui.util.PackageUtility; /** diff --git a/nars_gui/nars/gui/output/SwingLogPanel.java b/nars_gui/nars/gui/output/SwingLogPanel.java index ad744b99783b46adc24760993e78c8831147d6f1..0d1ce0a5f73c6158061a73270e6b285c9465521e 100644 --- a/nars_gui/nars/gui/output/SwingLogPanel.java +++ b/nars_gui/nars/gui/output/SwingLogPanel.java @@ -17,7 +17,7 @@ import javax.swing.text.DefaultEditorKit; import javax.swing.text.JTextComponent; import nars.gui.NARControls; import nars.gui.output.SwingLogText.LogLine; -import nars.io.handlers.TextOutputHandler; +import nars.io.events.TextOutputHandler; public class SwingLogPanel extends LogPanel { diff --git a/nars_gui/nars/gui/output/SwingLogText.java b/nars_gui/nars/gui/output/SwingLogText.java index aaa97c3d1907b56cdf87d6e4566d9d949163ea8d..a8398399fc088301bba9971671b55b2538bcf1d8 100644 --- a/nars_gui/nars/gui/output/SwingLogText.java +++ b/nars_gui/nars/gui/output/SwingLogText.java @@ -15,7 +15,7 @@ import nars.entity.Task; import nars.entity.TruthValue; import nars.inference.TruthFunctions; import nars.inference.UtilityFunctions; -import nars.io.handlers.OutputHandler.OUT; +import nars.io.events.OutputHandler.OUT; public class SwingLogText extends SwingText { diff --git a/nars_gui/nars/gui/output/TablePanel.java b/nars_gui/nars/gui/output/TablePanel.java index 2d14db0272d138cd3eeacc3184246eab5eaa4862..a21621ceab56654ee3212b4fe0331e9f5b848c2f 100644 --- a/nars_gui/nars/gui/output/TablePanel.java +++ b/nars_gui/nars/gui/output/TablePanel.java @@ -9,7 +9,7 @@ import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import nars.main.NAR; -import nars.io.handlers.OutputHandler; +import nars.io.events.OutputHandler; public abstract class TablePanel extends NPanel { diff --git a/nars_gui/nars/gui/output/TaskTree.java b/nars_gui/nars/gui/output/TaskTree.java index ac408bee9b6d07e1df47b52642325d522aeeb301..8d105ede5b009dc25dd48cc84e298cdaf1813fa0 100644 --- a/nars_gui/nars/gui/output/TaskTree.java +++ b/nars_gui/nars/gui/output/TaskTree.java @@ -27,10 +27,10 @@ import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreeNode; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events.CyclesEnd; -import nars.util.Events.TaskAdd; -import nars.util.Events.TaskRemove; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events.CyclesEnd; +import nars.io.events.Events.TaskAdd; +import nars.io.events.Events.TaskRemove; import nars.main.NAR; import nars.entity.Concept; import nars.entity.Task; diff --git a/nars_gui/nars/gui/output/graph/NARGraphVis.java b/nars_gui/nars/gui/output/graph/NARGraphVis.java index 7743c86e1ec6be877828734d6fb42e9b9cf9a9a9..a3c93bea03ef6d6512005b297699a07b1089f515 100644 --- a/nars_gui/nars/gui/output/graph/NARGraphVis.java +++ b/nars_gui/nars/gui/output/graph/NARGraphVis.java @@ -24,9 +24,9 @@ import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JPanel; import javax.swing.JTextField; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events.CyclesEnd; -import nars.util.Events.ResetEnd; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events.CyclesEnd; +import nars.io.events.Events.ResetEnd; import nars.main.NAR; import nars.gui.output.graph.layout.CircleLayout; import nars.gui.util.DefaultGraphizer; diff --git a/nars_gui/nars/gui/util/MemoryObserver.java b/nars_gui/nars/gui/util/MemoryObserver.java index 9e687decf588ed829e73ba03879bff60520130e1..f86f5b9cdcea4b1b1c04bfc56a4feed233567d04 100644 --- a/nars_gui/nars/gui/util/MemoryObserver.java +++ b/nars_gui/nars/gui/util/MemoryObserver.java @@ -1,14 +1,14 @@ package nars.gui.util; -import nars.io.handlers.EventHandler; -import nars.util.Events; -import nars.util.Events.CycleEnd; -import nars.util.Events.CycleStart; +import nars.io.events.EventHandler; +import nars.io.events.Events; +import nars.io.events.Events.CycleEnd; +import nars.io.events.Events.CycleStart; import nars.storage.Memory; import nars.main.NAR; import nars.entity.Concept; import nars.entity.Task; -import nars.io.handlers.OutputHandler; +import nars.io.events.OutputHandler; public abstract class MemoryObserver extends EventHandler { diff --git a/nars_lab/nars/lab/grid2d/main/TestChamber.java b/nars_lab/nars/lab/grid2d/main/TestChamber.java index 0fba94d10c3c2fa21c1c29d5ea46cfa6d600fe4f..c6d9a384ea87abd0566853c91f77e99a6a57b13f 100644 --- a/nars_lab/nars/lab/grid2d/main/TestChamber.java +++ b/nars_lab/nars/lab/grid2d/main/TestChamber.java @@ -1,8 +1,8 @@ package nars.lab.grid2d.main; import java.util.List; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events; import nars.main.NAR; import nars.main.Parameters; import nars.lab.grid2d.main.Cell.Logic; diff --git a/nars_lab/nars/lab/language/LanguageGUI.java b/nars_lab/nars/lab/language/LanguageGUI.java index 931f796550ddd2d49e259a13f10efb0f09761a58..280a25bb88da5a345da1f2d3769c7b0a854e8b70 100644 --- a/nars_lab/nars/lab/language/LanguageGUI.java +++ b/nars_lab/nars/lab/language/LanguageGUI.java @@ -18,7 +18,7 @@ import java.util.logging.Logger; import nars.main.NAR; import nars.entity.Sentence; import nars.gui.NARSwing; -import nars.io.handlers.AnswerHandler; +import nars.io.events.AnswerHandler; /** * diff --git a/nars_lab/nars/lab/launcher/NARGame.java b/nars_lab/nars/lab/launcher/NARGame.java index 097933f5b5b91ca6fbfd00adc7e94115fd6ace69..792bae2d252a1f2eb8e907c8e7e8cbd60963f302 100644 --- a/nars_lab/nars/lab/launcher/NARGame.java +++ b/nars_lab/nars/lab/launcher/NARGame.java @@ -1,7 +1,7 @@ package nars.lab.launcher; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events; import nars.storage.Memory; import nars.main.NAR; import nars.gui.NARSwing; diff --git a/nars_lab/nars/lab/microworld/SupervisedRecognition.java b/nars_lab/nars/lab/microworld/SupervisedRecognition.java index 2ed76a77042846fa22408343b1aa7aaaf8da87ab..a8f66dbb70584dd89a869faa0e4b851860a791c2 100644 --- a/nars_lab/nars/lab/microworld/SupervisedRecognition.java +++ b/nars_lab/nars/lab/microworld/SupervisedRecognition.java @@ -9,7 +9,7 @@ import nars.main.NAR; import nars.entity.Sentence; import nars.entity.Task; import nars.gui.NARSwing; -import nars.io.handlers.AnswerHandler; +import nars.io.events.AnswerHandler; import nars.io.Narsese; /** diff --git a/nars_lab/nars/lab/plugin/app/farg/FluidAnalogiesAgents.java b/nars_lab/nars/lab/plugin/app/farg/FluidAnalogiesAgents.java index db8666460e99b08b7617785b1656b4ccf97e976f..a14838ef58b4da6d5c52f7834b787c0498a367ae 100644 --- a/nars_lab/nars/lab/plugin/app/farg/FluidAnalogiesAgents.java +++ b/nars_lab/nars/lab/plugin/app/farg/FluidAnalogiesAgents.java @@ -6,7 +6,7 @@ package nars.lab.plugin.app.farg; import nars.main.NAR; -import nars.util.Plugin; +import nars.plugin.Plugin; import nars.language.Term; import nars.storage.LevelBag; diff --git a/nars_lab/nars/lab/plugin/app/farg/Workspace.java b/nars_lab/nars/lab/plugin/app/farg/Workspace.java index 2b9e39daac7d58bdbed204688a1a3fe04927353d..dc6e48f149c00232b89470312c8bf9f326b68eee 100644 --- a/nars_lab/nars/lab/plugin/app/farg/Workspace.java +++ b/nars_lab/nars/lab/plugin/app/farg/Workspace.java @@ -5,8 +5,8 @@ package nars.lab.plugin.app.farg; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events.CycleEnd; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events.CycleEnd; import nars.main.NAR; import nars.entity.Concept; import nars.storage.LevelBag; diff --git a/nars_lab/nars/lab/plugin/input/PerceptionAccel.java b/nars_lab/nars/lab/plugin/input/PerceptionAccel.java index 980618f8a40e56cb3530e4bb3813ec9d6563baff..3d1b0c330888bec741b9fc2ed3c0889e6629d7dc 100644 --- a/nars_lab/nars/lab/plugin/input/PerceptionAccel.java +++ b/nars_lab/nars/lab/plugin/input/PerceptionAccel.java @@ -5,11 +5,11 @@ package nars.lab.plugin.input; import java.util.ArrayList; -import nars.util.EventEmitter; -import nars.util.Events; +import nars.io.events.EventEmitter; +import nars.io.events.Events; import nars.main.NAR; import nars.main.Parameters; -import nars.util.Plugin; +import nars.plugin.Plugin; import nars.control.DerivationContext; import nars.entity.BudgetValue; import nars.entity.Concept; diff --git a/nars_lab/nars/lab/plugin/mental/GlobalAnticipation.java b/nars_lab/nars/lab/plugin/mental/GlobalAnticipation.java index 577dfc76a6b49a8d948b73bc8702de35cc33b99f..ab1cc7ceaecce6916b67156d856eec7e4e9b7aca 100644 --- a/nars_lab/nars/lab/plugin/mental/GlobalAnticipation.java +++ b/nars_lab/nars/lab/plugin/mental/GlobalAnticipation.java @@ -8,12 +8,12 @@ package nars.lab.plugin.mental; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.List; -import nars.util.EventEmitter; -import nars.util.Events; +import nars.io.events.EventEmitter; +import nars.io.events.Events; import nars.main.NAR; import nars.main.NAR.PluginState; import nars.main.Parameters; -import nars.util.Plugin; +import nars.plugin.Plugin; import nars.control.DerivationContext; import nars.entity.BudgetValue; import nars.entity.Concept; diff --git a/nars_lab/nars/lab/predict/Predict_NARS_Core.java b/nars_lab/nars/lab/predict/Predict_NARS_Core.java index ceb359c97e59b3336f10f1a6def39b9ee2081dcb..8a3a9259694cfd8f203239b740cfd9f3c5d20b5e 100644 --- a/nars_lab/nars/lab/predict/Predict_NARS_Core.java +++ b/nars_lab/nars/lab/predict/Predict_NARS_Core.java @@ -16,7 +16,7 @@ import java.util.Random; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.ImageIcon; -import nars.util.Events.TaskImmediateProcess; +import nars.io.events.Events.TaskImmediateProcess; import nars.main.NAR; import nars.main.Parameters; import nars.control.DerivationContext; @@ -24,7 +24,7 @@ import nars.entity.Sentence; import nars.entity.Task; import nars.gui.NARSwing; import nars.inference.TruthFunctions; -import nars.io.handlers.AnswerHandler; +import nars.io.events.AnswerHandler; import nars.lab.ioutils.ChangedTextInput; import nars.io.Narsese; import nars.language.Term; diff --git a/nars_lab/nars/lab/testutils/OutputCondition.java b/nars_lab/nars/lab/testutils/OutputCondition.java index 97d860b62d294c15a2e3781ad72fff5a074e6c00..586867d5f9de2fedb61d671010d02a3eb136bc74 100644 --- a/nars_lab/nars/lab/testutils/OutputCondition.java +++ b/nars_lab/nars/lab/testutils/OutputCondition.java @@ -8,7 +8,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import nars.main.NAR; -import nars.io.handlers.OutputHandler; +import nars.io.events.OutputHandler; /** * Monitors an output stream for certain conditions. Used in testing and diff --git a/nars_lab/nars/lab/testutils/OutputContainsCondition.java b/nars_lab/nars/lab/testutils/OutputContainsCondition.java index 331d2cbeaefebf6c56ceffff421ca0210ba93212..d30477a4cf46a39528d39d6e8bc439b6b052acf7 100644 --- a/nars_lab/nars/lab/testutils/OutputContainsCondition.java +++ b/nars_lab/nars/lab/testutils/OutputContainsCondition.java @@ -11,7 +11,7 @@ import java.util.TreeSet; import nars.main.NAR; import nars.entity.Sentence; import nars.entity.Task; -import nars.io.handlers.TextOutputHandler; +import nars.io.events.TextOutputHandler; import nars.operator.Operator.ExecutionResult; /** diff --git a/nars_lab/nars/lab/testutils/TuneTuffy.java b/nars_lab/nars/lab/testutils/TuneTuffy.java index 35c76c52821bc248e2af7f68ce1044ab84389dd4..542cb99fc72ed8f228ad9ad79a120f9522a8790c 100644 --- a/nars_lab/nars/lab/testutils/TuneTuffy.java +++ b/nars_lab/nars/lab/testutils/TuneTuffy.java @@ -6,12 +6,12 @@ package nars.lab.testutils; import java.io.File; import java.io.FileNotFoundException; -import nars.util.Events.Answer; +import nars.io.events.Events.Answer; import nars.main.NAR; import nars.entity.Sentence; import nars.entity.Task; -import nars.io.handlers.EventHandler; -import nars.io.handlers.OutputHandler.OUT; +import nars.io.events.EventHandler; +import nars.io.events.OutputHandler.OUT; import nars.io.Narsese; import nars.language.Term; diff --git a/nars_lab/nars/lab/tictactoe/GridButtonPanel.java b/nars_lab/nars/lab/tictactoe/GridButtonPanel.java index 6daf7e962d52bc4723244c65a1a34cbf132054b0..994f92ce397c26a83279241e9dc4166543393cb6 100644 --- a/nars_lab/nars/lab/tictactoe/GridButtonPanel.java +++ b/nars_lab/nars/lab/tictactoe/GridButtonPanel.java @@ -15,8 +15,8 @@ import java.awt.event.MouseWheelListener; import java.lang.reflect.Array; import javax.swing.JButton; import javax.swing.SwingUtilities; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events.CyclesEnd; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events.CyclesEnd; import nars.main.NAR; import nars.entity.Concept; diff --git a/nars_lab/nars/lab/tictactoe/TicTacToe.java b/nars_lab/nars/lab/tictactoe/TicTacToe.java index bac779e3d3a51232a6acf0c19bee9870c4699ed3..3f41324bc47d4e75459461fc0e754a0bfa476c15 100644 --- a/nars_lab/nars/lab/tictactoe/TicTacToe.java +++ b/nars_lab/nars/lab/tictactoe/TicTacToe.java @@ -37,18 +37,18 @@ import java.util.Set; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; -import nars.util.EventEmitter.EventObserver; +import nars.io.events.EventEmitter.EventObserver; import nars.storage.Memory; import nars.main.NAR; import nars.entity.BudgetValue; import nars.entity.Concept; import nars.entity.Task; import nars.gui.NARSwing; -import nars.io.handlers.OutputHandler.OUT; +import nars.io.events.OutputHandler.OUT; import nars.language.Term; import nars.operator.Operation; import nars.operator.Operator; -import nars.util.Events.CyclesEnd; +import nars.io.events.Events.CyclesEnd; /** * diff --git a/nars_lab/nars/lab/vision/SymRecognizer.java b/nars_lab/nars/lab/vision/SymRecognizer.java index 7408c9debf755cb071934cb0ebd50b09aa513fae..4693dc4e9cc74f322330d00c7de7a623cf080700 100644 --- a/nars_lab/nars/lab/vision/SymRecognizer.java +++ b/nars_lab/nars/lab/vision/SymRecognizer.java @@ -20,7 +20,7 @@ import javax.swing.*; import nars.main.NAR; import nars.main.Parameters; import nars.entity.Sentence; -import nars.io.handlers.AnswerHandler; +import nars.io.events.AnswerHandler; import nars.io.Narsese; diff --git a/nars_lab/nars/lab/vision/SymRecognizerWithVisionChannel.java b/nars_lab/nars/lab/vision/SymRecognizerWithVisionChannel.java index 78f4f07c870497d4b3af05b58ecd1a7d12d5ae0e..d984b92fc0294d0ace8534b42761448558f04d71 100644 --- a/nars_lab/nars/lab/vision/SymRecognizerWithVisionChannel.java +++ b/nars_lab/nars/lab/vision/SymRecognizerWithVisionChannel.java @@ -18,7 +18,7 @@ import javax.swing.*; import nars.main.NAR; import nars.main.Parameters; import nars.entity.Sentence; -import nars.io.handlers.AnswerHandler; +import nars.io.events.AnswerHandler; import nars.io.Narsese; diff --git a/nars_test/nars/core/NALTest.java b/nars_test/nars/core/NALTest.java index 210e59e412534e113b0a8fac30596b8b045e054e..5f305d0b8bf6451a18db37db74a19bb5ce6b7c6d 100644 --- a/nars_test/nars/core/NALTest.java +++ b/nars_test/nars/core/NALTest.java @@ -12,7 +12,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import nars.gui.InferenceLogger; -import nars.io.handlers.TextOutputHandler; +import nars.io.events.TextOutputHandler; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.junit.experimental.ParallelComputer; diff --git a/nars_test/nars/core/TermTest.java b/nars_test/nars/core/TermTest.java index c66c06333feb14b2e094434b388419a109cbc33a..36f393ae1dd7761a67654b06e463d3d832bb373d 100644 --- a/nars_test/nars/core/TermTest.java +++ b/nars_test/nars/core/TermTest.java @@ -21,7 +21,7 @@ import nars.main.Parameters; import java.util.TreeSet; import nars.entity.Concept; import nars.io.Symbols.NativeOperator; -import nars.util.Texts; +import nars.io.Texts; import nars.io.Narsese; import nars.language.CompoundTerm; import nars.language.Inheritance; diff --git a/nars_test/nars/core/TestMultistepEdited.java b/nars_test/nars/core/TestMultistepEdited.java index ddb5465b150170e695bbf939353768cc652f545c..01425f16a4a173b8143919709e9ad7575f9cfca0 100644 --- a/nars_test/nars/core/TestMultistepEdited.java +++ b/nars_test/nars/core/TestMultistepEdited.java @@ -1,7 +1,7 @@ package nars.core; import nars.main.NAR; -import nars.io.handlers.TextOutputHandler; +import nars.io.events.TextOutputHandler; import org.junit.Test; /** diff --git a/nars_test/nars/core/VariableTest.java b/nars_test/nars/core/VariableTest.java index 68fd5bc8f3ebcc11c921840fde47f1550a5df0a7..3bc785b294005cc555ab5778465fa48b3f534c60 100644 --- a/nars_test/nars/core/VariableTest.java +++ b/nars_test/nars/core/VariableTest.java @@ -5,9 +5,9 @@ package nars.core; import java.util.concurrent.atomic.AtomicBoolean; -import nars.util.Events.Answer; +import nars.io.events.Events.Answer; import nars.main.NAR; -import nars.io.handlers.EventHandler; +import nars.io.events.EventHandler; import nars.lab.testutils.OutputContainsCondition; import static org.junit.Assert.assertTrue; import org.junit.Before; diff --git a/nars_test/nars/perf/BagFairness.java b/nars_test/nars/perf/BagFairness.java index da48d48dfc82e747550576e0a135b640819d62e8..f6dfea10355b1f11293960a240e648a8de196d58 100644 --- a/nars_test/nars/perf/BagFairness.java +++ b/nars_test/nars/perf/BagFairness.java @@ -3,13 +3,13 @@ package nars.perf; import automenta.vivisect.TreeMLData; import java.awt.Color; import java.util.ArrayList; -import nars.util.EventEmitter.EventObserver; -import nars.util.Events; +import nars.io.events.EventEmitter.EventObserver; +import nars.io.events.Events; import nars.main.NAR; import nars.main.Parameters; import automenta.vivisect.swing.NWindow; import automenta.vivisect.timeline.LineChart; -import nars.util.Texts; +import nars.io.Texts; import nars.storage.Bag; import automenta.vivisect.timeline.Chart; import automenta.vivisect.timeline.MultiTimeline; diff --git a/nars_test/nars/util/TextsTest.java b/nars_test/nars/util/TextsTest.java index 0cf2016ae4a80fe98f1c4157bf47032c7e1350cf..f9d8fe7c0d4ff48961d9ed8359b176a216c838c1 100644 --- a/nars_test/nars/util/TextsTest.java +++ b/nars_test/nars/util/TextsTest.java @@ -1,5 +1,6 @@ package nars.util; +import nars.io.Texts; import static org.junit.Assert.assertEquals; import org.junit.Test; diff --git a/nars_web/src/nars/web/NARConnection.java b/nars_web/src/nars/web/NARConnection.java index db8dba74fb39262b1b82456fbb75ea49e20622c9..1e7f5e861dae2d46b5de8eb870d7e5a90a35bf47 100644 --- a/nars_web/src/nars/web/NARConnection.java +++ b/nars_web/src/nars/web/NARConnection.java @@ -7,8 +7,8 @@ package nars.web; import nars.main.NAR; -import nars.io.handlers.TextOutputHandler; -import nars.io.handlers.TextOutputHandler.LineOutput; +import nars.io.events.TextOutputHandler; +import nars.io.events.TextOutputHandler.LineOutput; /** * An instance of a web socket session to a NAR