Skip to content

Commit

Permalink
Workaround for bad performance in releases after 4.4.0: a 4.4.1 versi…
Browse files Browse the repository at this point in the history
…on based on the latest commit to 4.4.0 with added methods for Domino 10+ (OpenNTF#179)
  • Loading branch information
perlausten committed Apr 4, 2022
1 parent d28d74e commit 7073d9e
Show file tree
Hide file tree
Showing 21 changed files with 880 additions and 55 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1175,4 +1175,5 @@ public String upgradeUserToHierarchical(final String userName, final String orgU
@Override
public String deleteUser(String arg0, boolean arg1, int arg2, String arg3, boolean arg4, int arg5);

public String approveRenamePersonCommonNameInDirectory(String arg0);
}
105 changes: 105 additions & 0 deletions domino/core/src/main/java/org/openntf/domino/Database.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
import java.util.Comparator;
import java.util.Vector;

import lotus.domino.DominoQuery;
import lotus.domino.QueryResultsProcessor;

import org.openntf.domino.annotations.Incomplete;
import org.openntf.domino.annotations.Legacy;
import org.openntf.domino.types.FactorySchema;
Expand Down Expand Up @@ -2847,4 +2850,106 @@ public String getURLHeaderInfo(final String url, final String header, final Stri
@Override
public void setUserIDFileForDecrypt(String arg0, String arg1);

/**
* Get a UserID for a user from the ID Vault, relevant for encryption support
*
* @param id
* file. Provides the file path of id file. After setting it, all documents in this database will be decrypted with
* encryption keys of this id file.
* @param password
* Password. After setting the User id, documents in this database will be decrypted with encryption keys of this user id
* @since Domino 9.0.1 FP8
*/
@Override
public UserID getUserID(final String userId, final String password);

/**
* Creates a new DQL query processor.
*
* @since Domino 10.0.1
*/
@Override
public DominoQuery createDominoQuery();

@Override
QueryResultsProcessor createQueryResultsProcessor();

/**
* Retrieves a named document. This is as distinct from document IDs and profile document names.
*
* @param name
* the name of the document
* @param userName
* the user name associated with the document
* @return the named document
* @since 12.0.1
*/
@Override
Document getNamedDocument(String name, String userName);

/**
* Retrieves a named document. This is as distinct from document IDs and profile document names.
*
* @param name
* the name of the document
* @return the named document
* @since 12.0.1
*/
@Override
Document getNamedDocument(String name);

/**
* Retrieves the collection of all named documents in the database.
*
* @return the named-document collection
* @since 12.0.1
* @see #getNamedDocument
*/
@Override
DocumentCollection getNamedDocumentCollection();

/**
* Retrieves the collection of all named documents in the database matching the given name.
*
* @param name
* the name of the documents to retrieve
* @return the named-document collection
* @since 12.0.1
* @see #getNamedDocument
*/
@Override
DocumentCollection getNamedDocumentCollection(String name);

/**
* Removes all stored results saved in the database by {@link DominoQuery}.
*
* @since 12.0.1
*/
@Override
void removeAllQueryNamedResults();

/**
* Begins a database transaction.
*
* @since 12.0.0
*/
@Override
void transactionBegin();

/**
* Commits an active transaction to disk.
*
* @since 12.0.0
*/
@Override
void transactionCommit();

/**
* Rolls back an active transaction.
*
* @since 12.0.0
*/
@Override
void transactionRollback();

}
9 changes: 9 additions & 0 deletions domino/core/src/main/java/org/openntf/domino/DateTime.java
Original file line number Diff line number Diff line change
Expand Up @@ -585,4 +585,13 @@ public Class<Session> parentClass() {
// * @return Java Calendar object, same as used internally by org.openntf.domino.DateTime class
// */
// public Calendar toJavaCal();

/**
* Gets the replica ID corresponding to a timestamp
*
* @return 16 character hex string
* @since Domino V10
*/
@Override
public String getReplicaID();
}
49 changes: 49 additions & 0 deletions domino/core/src/main/java/org/openntf/domino/Document.java
Original file line number Diff line number Diff line change
Expand Up @@ -2694,5 +2694,54 @@ public Item replaceItemValueCustomDataBytes(final String itemName, final String
*/
@Override
public void encrypt(String arg0, String arg1);

/**
* Whether send method should be aborted
*
* @return cancel sending
* @since 10.0.0
*/
@Override
public boolean isCancelSendOnMissingKey();

/**
* Whether or not send method should be aborted
* @param cancelSend to cancel sending
* @since 10.0.0
*/
@Override
public void setCancelSendOnMissingKey(final boolean cancelSend);

/**
* Retrieves the name of the document, if it is a named document.
*
* @return the name of the document, or an empty value if it is
* not named
* @since 12.0.1
*/
@Override
String getNameOfDoc();

/**
* Retrieves the user name of the document, if it is a named document
* with an associated user name.
*
* @return the user name of the document, or an empty value if it is
* not named or does not have an associated user name
* @since 12.0.1
*/
@Override
String getUserNameOfDoc();

/**
* Determines whether the document is a named document. This differs from
* the profile-document mechanism.
*
* @return {@code true} if the document is a named document; {@code false}
* otherwise
* @since 12.0.1
*/
@Override
boolean isNamedDoc();

}
49 changes: 49 additions & 0 deletions domino/core/src/main/java/org/openntf/domino/Registration.java
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,34 @@ public boolean addUserToAddressBook(final String idFile, final String fullName,
@Override
public boolean crossCertify(final String idFile, final String certPassword, final String comment);

/**
* Cross-certifies an ID file.
* <p>
* This method requires that {@link #setCertifierIDFile(String) CertifierIDFile} be set.
* </p>
* <p>
* {@link #getExpiration() Expiration} defaults to 10 years from now.
* </p>
* <p>
* This method acts on the Domino Directory (names.nsf) for the server specified by {@link #getRegistrationServer() RegistrationServer},
* or names.nsf in the local Domino data directory if this property is not set.
* </p>
*
* @param idfile
* The ID file to be cross-certified. Specify the full path, for example, c:\\notes\\data\\user.id.
* @param certPassword
* The password for the certifier ID file.
* @param comment
* A value for the comment field in the user's Domino Directory record.
* @param idpw
* The password for the ID file to be cross-certified
* @return Returns true if the operation is successful; false otherwise.
* @since Domino V10
*/
@Override
public boolean crossCertify(final String idFile, final String certPassword, final String comment, final String idPassword);


/**
* Deletes the user ID attachment from a Person or Server record in a Domino Directory.
* <p>
Expand Down Expand Up @@ -2352,4 +2380,25 @@ public boolean registerNewUser(final String lastName, final String idFile, final
*/
@Override
public String switchToID(final String idFile, final String userPassword);

/**
* Represents the Note ID of an existing Person document to use when registering a user.
*
* @return the ID of an existing Person document, if set
* @since Notes/Domino 11.0.1
* @since 11.0.1
*/
@Override
String getContactNoteID();

/**
* Represents the Note ID of an existing Person document to use when registering a user,
* such as a note created by Active Directory sync.
*
* @param contactNoteId the ID of an existing Person document
* @since Notes/Domino 11.0.1
* @since 11.0.1
*/
@Override
void setContactNoteID(String contactNoteId);
}
21 changes: 21 additions & 0 deletions domino/core/src/main/java/org/openntf/domino/RichTextItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -366,4 +366,25 @@ public Class<Document> parentClass() {
*/
@Override
public void update();

/*
* Converts the Rich Text Item from Notes Rich Text to HTML and MIME
*
* @param options
* TODO: Documentation in Beta 2 is missing as to what options can be missed
* @return converted HTML as a string
* @since Domino V10
*/
@SuppressWarnings("rawtypes")
@Override
public String convertToHTML(Vector options);

/*
* Gets any cid references to attachments from Notes Rich Text converted to HTML and MIME
*
* @return Vector of cid references
* @since Domino V10
*/
@Override
public Vector<String> getHTMLReferences();
}
6 changes: 6 additions & 0 deletions domino/core/src/main/java/org/openntf/domino/Session.java
Original file line number Diff line number Diff line change
Expand Up @@ -1099,4 +1099,10 @@ public Vector<DateRange> freeTimeSearch(final lotus.domino.DateRange window, fin
@Override
public IDVault getIDVault(String arg0);

/*
*
* @since Domino V10
*/
@Override
public boolean applicationShouldQuit();
}
Loading

0 comments on commit 7073d9e

Please sign in to comment.