2016-04-19 4 views
0

私はXpagesでjavaのOpenNTF ODAを採用しました。これまでのところ本当に素晴らしいですし、私は表面に触れたと思います。Xpages:OpenNTFを使ったJavaメソッドODAは文書を保存していません

Javaメソッドを呼び出していて、ドキュメントを保存したいとします。メソッドが呼び出され、エラーは表示されませんが、ドキュメントは更新されません。

ドキュメントは「保存」されていますが、ビューからは消えるだけです。

import lotus.domino.NotesException; 

import org.openntf.domino.*; 
import org.openntf.domino.utils.Factory; 
import org.openntf.domino.Database; 
import org.openntf.domino.Session; 
import java.io.Serializable; 

public class Build implements Serializable { 
    private static final long serialVersionUID = 1L; 

    public void process1(String docID) { 

     try { 

     System.out.println("Got here."); 
     Session session = Factory.getSession(); 
     Database thisDB = session.getCurrentDatabase(); 
     Database PCDataDB = session.getDatabase(thisDB.getServer(), "scoApps\\PC\\PCData.nsf", false); 
     Document thisDoc = PCDataDB.getDocumentByUNID(docID); 
     Item itm = thisDoc.replaceItemValue("status",2, true); 
     thisDoc.save(true,false); 
     System.out.println("Got here."); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

すべてのsysoutステートメントを出力しますか?私はそこに問題を引き起こすべきであることを知らない。私は実際にreplaceItemValue()の3番目のパラメータを使用していませんが、それが消えるという事実はエラーを投げていないことを示唆しています。コードを見ると、コードにエラーが表示されず、デモ・データベースで現在のODAを試してみました。要約フィールドとして正しく設定され、その値がビューの列に表示されます。 org.openntf.0.0.logをチェックして、ODA自体が投げたエラーはないことを再確認する価値があります。 –

+0

私はそれが問題だとは思っていますが、私は3番目のパラメータも使用していません。私はまた、通常、値を書くための "Item itm"オブジェクトを作成しません。あなたが "itm"で何もしないなら、あなたはそれを必要としません。他に何かが起こっている。おそらく、Rob Masonが示唆しているもの。また、xpagesログリーダーもインストールすることをお勧めします。 –

+0

システムステートメントを出力します。私はそれが違いを生み出したかどうかを見るために3番目のパラメを置くだけです。奇妙なことは、私がデバッガをステップスルーしたときに私はドキュメントを見ることができますが、私は見ていなければならないフィールドを見ていないということです。 –

答えて

2

私は、ドキュメントが実際に保存されていると思われるが、あなたが見ているビューから除外された文書手段に設定されて得る値が存在します。

[すべてのドキュメント]ビューを作成できます。式を@Allを選択するように設定します。フォームの列と前回編集日の列を追加し、適切な並べ替えオプションを設定すると、その文書を見つけて、それがビューから除外されている理由を確認できるはずです。

0

これは私の見解です。コードはフィールド "status"を1から2に変更していましたが、フィールドを最初に設定したときには数字ではなくテキストでした。だから私の書類はすべての意見から逸脱した。私がロブの助言を受けて、すべての文書を見ると、何が起きているのかが分かりました。

+0

ニースのブライアン。私は、まったく同じボートにいたので、その答えを追加して、それの底に到達しようとしている年齢のために髪を引っ張ってしまった。 –

関連する問題