Search in sources :

Example 16 with Document

use of lotus.domino.Document in project org.openntf.domino by OpenNTF.

the class DominoRunner method run.

@Override
public void run() {
    try {
        System.out.println("Starting NotesRunner");
        Session session = NotesFactory.createSession();
        sessionid.set(getLotusId(session));
        Database db = session.getDatabase("", "log.nsf");
        getLotusId(db);
        Name name = null;
        int i = 0;
        try {
            for (i = 0; i <= 100000; i++) {
                name = session.createName(UUID.randomUUID().toString());
                getLotusId(name);
                DateTime dt = session.createDateTime(new Date());
                getLotusId(dt);
                DateTime end = session.createDateTime(new Date());
                getLotusId(end);
                DateRange dr = session.createDateRange(dt, end);
                getLotusId(dr);
                Document doc = db.createDocument();
                getLotusId(doc);
                Item i1 = doc.replaceItemValue("Foo", dr);
                getLotusId(i1);
                Item i2 = doc.replaceItemValue("Bar", dr.getText());
                getLotusId(i2);
                Item i3 = doc.replaceItemValue("Blah", dr.getStartDateTime().getLocalTime());
                getLotusId(i3);
                lotus.domino.ColorObject color = session.createColorObject();
                getLotusId(color);
                color.setRGB(128, 128, 128);
                Item i4 = doc.replaceItemValue("color", color.getNotesColor());
                getLotusId(i4);
                i1.recycle();
                i2.recycle();
                i3.recycle();
                i4.recycle();
                DateTime create = doc.getCreated();
                getLotusId(create);
                String lc = create.getLocalTime();
                if (i % 10000 == 0) {
                    System.out.println(Thread.currentThread().getName() + " Name " + i + " is " + name.getCommon() + " " + "Local time is " + lc + "  " + dr.getText());
                }
                dr.recycle();
                doc.recycle();
                dt.recycle();
                end.recycle();
                create.recycle();
                color.recycle();
                if (name != null)
                    name.recycle();
            }
        } catch (Throwable t) {
            t.printStackTrace();
            System.out.println("Exception at loop point " + i);
        }
        session.recycle();
    } catch (Throwable t) {
        t.printStackTrace();
    }
    System.out.println("FINI!");
}
Also used : Document(lotus.domino.Document) DateTime(lotus.domino.DateTime) Date(java.util.Date) Name(lotus.domino.Name) Item(lotus.domino.Item) DateRange(lotus.domino.DateRange) Database(lotus.domino.Database) Session(lotus.domino.Session)

Example 17 with Document

use of lotus.domino.Document in project org.openntf.nsfodp by OpenNTF.

the class ReplaceDesignTaskTest method run.

@Override
public IStatus run(IProgressMonitor monitor) {
    try {
        Session session = NotesFactory.createSession();
        try {
            Database sourceDb = getDatabase(session, sourcePath);
            Database targetDb = getDatabase(session, targetPath);
            // Delete elements from the target database
            // Ignore elements having "prohibit design..." property or Master Template defined
            NoteCollection targetNoteColl = targetDb.createNoteCollection(true);
            targetNoteColl.selectAllAdminNotes(false);
            targetNoteColl.selectAllDataNotes(false);
            targetNoteColl.setSelectIcon(false);
            targetNoteColl.setSelectHelpAbout(false);
            targetNoteColl.setSelectHelpIndex(false);
            targetNoteColl.setSelectHelpUsing(false);
            // Select notes without "prohibit design" or master templates
            // $NON-NLS-1$
            targetNoteColl.setSelectionFormula(" !(@IsAvailable($Class) | @Contains($Flags; 'P')) ");
            // Remove selected notes
            targetNoteColl.buildCollection();
            String noteId = targetNoteColl.getFirstNoteID();
            while (StringUtil.isNotEmpty(noteId)) {
                Document note = targetDb.getDocumentByID(noteId);
                // System.out.println(Messages.getString("ReplaceDesignTaskTest.consoleRemoving", noteId, note.getItemValueString("$TITLE"))); //$NON-NLS-1$ //$NON-NLS-2$
                note.remove(true);
                noteId = targetNoteColl.getNextNoteID(noteId);
            }
            // Check for Help About and Help Using
            boolean isHelpAbout = false, isHelpUsing = false;
            targetNoteColl.selectAllNotes(false);
            targetNoteColl.clearCollection();
            targetNoteColl.setSelectHelpAbout(true);
            targetNoteColl.buildCollection();
            if (targetNoteColl.getCount() > 0) {
                noteId = targetNoteColl.getFirstNoteID();
                Document helpAbout = targetDb.getDocumentByID(noteId);
                if (helpAbout.getItemValueString("$Flags").contains("R")) {
                    // $NON-NLS-1$ //$NON-NLS-2$
                    // System.out.println(Messages.getString("ReplaceDesignTaskTest.consoleRemovingHelpAbout")); //$NON-NLS-1$
                    helpAbout.remove(true);
                    isHelpAbout = true;
                }
            }
            targetNoteColl.selectAllNotes(false);
            targetNoteColl.clearCollection();
            targetNoteColl.setSelectHelpUsing(true);
            targetNoteColl.buildCollection();
            if (targetNoteColl.getCount() > 0) {
                noteId = targetNoteColl.getFirstNoteID();
                Document helpUsing = targetDb.getDocumentByID(noteId);
                if (helpUsing.getItemValueString("$Flags").contains("R")) {
                    // $NON-NLS-1$ //$NON-NLS-2$
                    // System.out.println(Messages.getString("ReplaceDesignTaskTest.consoleRemovingHelpUsing")); //$NON-NLS-1$
                    helpUsing.remove(true);
                    isHelpUsing = true;
                }
            }
            // Set "More Fields" option
            targetDb.setOption(Database.DBOPT_MOREFIELDS, true);
            // Copy all design elements from source DB to target DB except Help About and Help Using
            NoteCollection sourceNoteColl = sourceDb.createNoteCollection(true);
            sourceNoteColl.selectAllAdminNotes(false);
            sourceNoteColl.selectAllDataNotes(false);
            sourceNoteColl.setSelectIcon(false);
            sourceNoteColl.setSelectHelpAbout(isHelpAbout);
            sourceNoteColl.setSelectHelpUsing(isHelpUsing);
            return Status.OK_STATUS;
        } finally {
            session.recycle();
        }
    } catch (Exception e) {
        return new Status(IStatus.ERROR, Messages.ReplaceDesignTaskTest_errorReplacingDesign, e.toString(), e);
    }
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) Status(org.eclipse.core.runtime.Status) NoteCollection(lotus.domino.NoteCollection) Database(lotus.domino.Database) Document(lotus.domino.Document) NotesException(lotus.domino.NotesException) Session(lotus.domino.Session)

Aggregations

Document (lotus.domino.Document)17 Database (lotus.domino.Database)16 Session (lotus.domino.Session)12 Date (java.util.Date)3 DateTime (lotus.domino.DateTime)3 Item (lotus.domino.Item)3 Name (lotus.domino.Name)3 NoteCollection (lotus.domino.NoteCollection)3 NotesException (lotus.domino.NotesException)3 IOException (java.io.IOException)2 Vector (java.util.Vector)2 DateRange (lotus.domino.DateRange)2 View (lotus.domino.View)2 ViewEntry (lotus.domino.ViewEntry)2 ViewNavigator (lotus.domino.ViewNavigator)2 DominoDocument (com.ibm.xsp.model.domino.wrapped.DominoDocument)1 URI (java.net.URI)1 Path (java.nio.file.Path)1 InvalidAlgorithmParameterException (java.security.InvalidAlgorithmParameterException)1 InvalidKeyException (java.security.InvalidKeyException)1