Salome HOME
- Set up-to date functionality is implemented;
[tools/siman.git] / Workspace / Siman / src / org / splat / simer / DocumentFacade.java
index 8f9e1c6f123592d0dbcf5c869ab73540ab09e15e..accc56b79e994100c74df290d1a9a453e3d7acbf 100644 (file)
@@ -10,7 +10,6 @@ import java.io.File;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 import java.util.ResourceBundle;
 
@@ -226,18 +225,26 @@ public class DocumentFacade implements HistoryFacade {
                        _display = State.deepopen;
                } else { // Opening the document
                        if (_uses == null) {
-                               List<Publication> relist = _me.getRelations(UsesRelation.class);
+                               List<Relation> relist = _me.value().getRelations(UsesRelation.class);
 
                                _uses = new ArrayList<DocumentFacade>(relist.size());
-                               for (Iterator<Publication> i = relist.iterator(); i.hasNext();) {
-                                       Publication used = i.next();
-                                       long index = used.getIndex();
-                                       DocumentFacade facade = _owner._docpres.get(index);
+                               for (Relation relation : relist) {
+                                       Document used = ((UsesRelation)relation).getTo();
+                                       
+                                       DocumentFacade facade = null;
+                                       
+                                       Publication publication = _me.getOwner().getPublication(used);
+                                       if(publication == null) {
+                                               publication = _me.getOwnerStudy().getPublication(used);
+                                       }
+                                       if(publication != null) {
+                                               facade = _owner._docpres.get(publication.getIndex());
+                                       }
+                                       
                                        if (facade == null) {
                                                facade = new DocumentFacade(_owner, used,
                                                                getProjectSettings(), getPublicationService(),
                                                                getApplicationSettings());
-                                               _owner._docpres.put(index, facade);
                                        }
                                        _uses.add(facade);
                                }
@@ -565,9 +572,9 @@ public class DocumentFacade implements HistoryFacade {
                                _sharing = "image.share.png";
                                _updated = "icon.hold.png";
                        }
-                       if (_me.isOutdated()) {
-                               _state = ProgressState.inWORK; // Overrides the document state
-                       }
+                       //if (_me.isOutdated()) {
+                       //      _state = ProgressState.inWORK; // Overrides the document state
+                       //}
                }
        }