Example: DxlImporter class
- This agent imports DXL from a file into a newly created database.
import lotus.domino.*; public class JavaAgent extends AgentBase { static DxlImporter importer = null; public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); // (Your code goes here) // Get current database Database db = agentContext.getCurrentDatabase(); // Get DXL file String filename = "c:\\dxl\\exporteddb.dxl"; Stream stream = session.createStream(); if (stream.open(filename) & (stream.getBytes() >0)) { // Create new database - replace if it already exists Database newdb = session.getDatabase(null, "imported"); if (newdb.isOpen()) newdb.remove(); DbDirectory dbdir = session.getDbDirectory(null); newdb = dbdir.createDatabase("imported", true); newdb.setTitle("Imported"); // Import DXL from file to new database importer = session.createDxlImporter(); importer.setReplaceDbProperties(true); importer.setReplicaRequiredForReplaceOrUpdate(false); importer.setAclImportOption( DxlImporter.DXLIMPORTOPTION_REPLACE_ELSE_IGNORE); importer.setDesignImportOption( DxlImporter.DXLIMPORTOPTION_CREATE); importer.importDxl(stream, newdb); } else System.out.println(filename + " does not exist or is empty"); } catch(Exception e) { e.printStackTrace(); } finally { // Print importer log try { System.out.println(importer.getLog()); } catch(Exception e) {e.printStackTrace();} } } }
The file generated by the DXLExporter class example can be imported using this code.
- This agent exports DXL to a string and imports the string into
a newly created database.
import lotus.domino.*; public class JavaAgent extends AgentBase { static DxlImporter importer = null; public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); // (Your code goes here) // Get current database Database db = agentContext.getCurrentDatabase(); // Create new database - replace if it already exists Database newdb = session.getDatabase(null, "imported"); if (newdb.isOpen()) newdb.remove(); DbDirectory dbdir = session.getDbDirectory(null); newdb = dbdir.createDatabase("imported", true); newdb.setTitle("Imported"); // Export current database and import into new database importer = session.createDxlImporter(); importer.setReplaceDbProperties(true); importer.setReplicaRequiredForReplaceOrUpdate(false); importer.setAclImportOption( DxlImporter.DXLIMPORTOPTION_REPLACE_ELSE_IGNORE); importer.setDesignImportOption( DxlImporter.DXLIMPORTOPTION_CREATE); DxlExporter exporter = session.createDxlExporter(); importer.importDxl(exporter.exportDxl(db), newdb); } catch(Exception e) { e.printStackTrace(); } finally { // Print importer log try { System.out.println(importer.getLog()); } catch(Exception e) {e.printStackTrace();} } } }