File tree Expand file tree Collapse file tree 7 files changed +18
-6
lines changed
test/java/network/aika/network Expand file tree Collapse file tree 7 files changed +18
-6
lines changed Original file line number Diff line number Diff line change 55 <groupId >org.aika-software</groupId >
66 <artifactId >aika</artifactId >
77 <packaging >jar</packaging >
8- <version >1.4.5 </version >
8+ <version >1.4.6-SNAPSHOT </version >
99 <name >aika</name >
1010 <url >http://aika.network</url >
1111 <description >An artificial intelligence for knowledge acquisition</description >
Original file line number Diff line number Diff line change @@ -25,6 +25,8 @@ public class Provider<T extends AbstractNode> implements Comparable<Provider<?>>
2525
2626 private volatile T n ;
2727
28+ private boolean markedDeleted ;
29+
2830
2931 public enum SuspensionMode {
3032 SAVE ,
@@ -168,7 +170,13 @@ public void delete(Set<String> modelLabels) {
168170
169171 n .delete (modelLabels );
170172
171- model .suspensionHook .delete (id );
173+ // model.removeProvider(this);
174+ model .suspensionHook .delete (n .getLabel (), id );
175+ markedDeleted = true ;
176+ }
177+
178+ public boolean isMarkedDeleted () {
179+ return markedDeleted ;
172180 }
173181
174182 @ Override
Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ public interface SuspensionHook {
3737
3838 byte [] retrieve (int id );
3939
40- void delete (int id );
40+ void delete (String label , int id );
4141
4242 Iterable <Integer > getAllNodeIds ();
4343}
Original file line number Diff line number Diff line change @@ -298,7 +298,9 @@ public void addActivation(A act) {
298298
299299
300300 public void remove () {
301- assert !isRemoved ;
301+ if (isRemoved ) {
302+ return ;
303+ }
302304
303305 lock .acquireWriteLock ();
304306 setModified ();
Original file line number Diff line number Diff line change @@ -235,7 +235,7 @@ void removeParents(Set<String> modelLabels) {
235235 pn .removeOrChild (oe );
236236 pn .setModified ();
237237
238- pp .delete (modelLabels );
238+ // pp.delete(modelLabels);
239239 }
240240 andParents .clear ();
241241 }
Original file line number Diff line number Diff line change @@ -740,6 +740,8 @@ public void reactivate() {
740740 @ Override
741741 public void delete (Set <String > modelLabels ) {
742742 new ArrayList <>(getInputSynapses ())
743+ .stream ()
744+ .filter (s -> !s .getInput ().isMarkedDeleted ())
743745 .forEach (s -> {
744746 s .unlink ();
745747 s .getInput ().delete (modelLabels );
Original file line number Diff line number Diff line change @@ -148,7 +148,7 @@ public byte[] retrieve(int id) {
148148 }
149149
150150 @ Override
151- public void delete (int id ) {
151+ public void delete (String label , int id ) {
152152 storage .remove (id );
153153 }
154154
You can’t perform that action at this time.
0 commit comments