Package org.apache.directory.shared.ldap.ldif

Examples of org.apache.directory.shared.ldap.ldif.LdifReader


        if ( isDebugEnabled() )
        {
            System.out.println( "Connection to the server established.\n" + "Importing data ... " );
        }

        LdifReader ldifReader = new LdifReader( ldifFile );

        if ( ldifReader.containsEntries() )
        {
            // Parse the file and inject every entry
            long t0 = System.currentTimeMillis();
            int nbAdd = 0;

            for ( LdifEntry entry:ldifReader )
            {
                // Check if we have had some error, has next() does not throw any exception
                if ( ldifReader.hasError() )
                {
                    System.err
                        .println( "Found an error while persing an entry : " + ldifReader.getError().getLocalizedMessage() );

                    if ( ignoreErrors == false )
                    {
                        unbind( messageId );

                        System.err.println( I18n.err( I18n.ERR_208 ) );
                        System.exit( 1 );
                    }
                }

                if ( ( addEntry( entry, messageId++ ) == IMPORT_ERROR ) && ( ignoreErrors == false ) )
                {
                    unbind( messageId );

                    System.err.println( I18n.err( I18n.ERR_208 ) );
                    System.exit( 1 );
                }

                nbAdd++;

                if ( nbAdd % 10 == 0 )
                {
                    System.out.print( '.' );
                }

                if ( nbAdd % 500 == 0 )
                {
                    System.out.println( nbAdd );
                }
            }

            long t1 = System.currentTimeMillis();

            System.out.println( "Done!" );
            System.out.println( nbAdd + " entries added in " + ( ( t1 - t0 ) / 1000 ) + " seconds" );
        }
        else
        {
            // Parse the file and inject every modification
            long t0 = System.currentTimeMillis();
            int nbMod = 0;

            for ( LdifEntry entry:ldifReader )
            {
                // Check if we have had some error, has next() does not throw any exception
                if ( ldifReader.hasError() )
                {
                    System.err
                        .println( "Found an error while persing an entry : " + ldifReader.getError().getLocalizedMessage() );

                    if ( ignoreErrors == false )
                    {
                        unbind( messageId );

                        System.err.println( I18n.err( I18n.ERR_208 ) );
                        System.exit( 1 );
                    }
                }

                if ( ( changeEntry( entry, messageId++ ) == IMPORT_ERROR ) && ( ignoreErrors == false ) )
                {
                    unbind( messageId );

                    System.err.println( I18n.err( I18n.ERR_208 ) );
                    System.exit( 1 );
                }

                nbMod++;

                if ( nbMod % 10 == 0 )
                {
                    System.out.print( '.' );
                }

                if ( nbMod % 500 == 0 )
                {
                    System.out.println( nbMod );
                }
            }

            long t1 = System.currentTimeMillis();

            System.out.println( "Done!" );
            System.out.println( nbMod + " entries changed in " + ( ( t1 - t0 ) / 1000 ) + " seconds" );
        }
       
        ldifReader.close();

        // Logout to the server
        unbind( messageId++ );

    }
View Full Code Here


        File ldifFile = new File( entryDir, entryDir.getName() + CONF_FILE_EXTN );

        try
        {

            ldifReader = new LdifReader();

            if ( ldifFile.exists() )
            {
                LOG.debug( "parsing ldif file {}", ldifFile.getName() );
                List<LdifEntry> entries = ldifReader.parseLdifFile( ldifFile.getAbsolutePath() );
View Full Code Here

        "objectClass: referral\n" +
        "objectClass: extensibleObject\n" +
        "c: america\n" +
        "ref: ldap://localhost:" + ldapServer.getPort() + "/c=usa,ou=system\n\n";

        LdifReader reader = new LdifReader( new StringReader( ldif ) );
        while ( reader.hasNext() )
        {
            LdifEntry entry = reader.next();
            ldapServer.getDirectoryService().getAdminSession().add(
                new DefaultServerEntry( ldapServer.getDirectoryService().getSchemaManager(), entry.getEntry() ) );
        }
    }
View Full Code Here

            if ( contextEntry == null )
            {
                if ( contextEntryFile.exists() )
                {
                    LdifReader reader = new LdifReader( contextEntryFile );
                    contextEntry = new DefaultServerEntry( schemaManager, reader.next().getEntry() );
                    reader.close();
                }
                else
                {
                    // No context entry and no LDIF file exists.
                    // Skip initialization of context entry here, it will be added later.
View Full Code Here

        // First, load the entries
        File[] entries = entryDir.listFiles( entryFilter );

        if ( ( entries != null ) && ( entries.length != 0 ) )
        {
            LdifReader ldifReader = new LdifReader();

            for ( File entry : entries )
            {
                LOG.debug( "parsing ldif file {}", entry.getName() );
                List<LdifEntry> ldifEntries = ldifReader.parseLdifFile( entry.getAbsolutePath() );
                ldifReader.close();

                if ( ( ldifEntries != null ) && !ldifEntries.isEmpty() )
                {
                    // this ldif will have only one entry
                    LdifEntry ldifEntry = ldifEntries.get( 0 );
View Full Code Here

    /**
     * @param contextEntry the contextEntry to set
     */
    public void setContextEntry( String contextEntry ) throws LdapLdifException
    {
        LdifReader ldifReader = new LdifReader();
        List<LdifEntry> entries = ldifReader.parseLdif( contextEntry );

        try
        {
            ldifReader.close();
        }
        catch ( IOException ioe )
        {
            // What can we do here ???
        }
View Full Code Here

        partition.setSchemaManager(directoryService.getSchemaManager());
        // Inject the partition into the DirectoryService
        directoryService.addPartition(partition);

        InputStream is = KerberosServiceStarter.class.getClassLoader().getResourceAsStream("kerberos/kerberos.ldif");
        LdifReader ldifReader = new LdifReader(is);
        for (LdifEntry entry : ldifReader) {
            if (entry.isChangeAdd()) {
                directoryService.getAdminSession().add(new DefaultServerEntry(directoryService.getSchemaManager(), entry.getEntry()));
            } else if (entry.isChangeModify()) {
                directoryService.getAdminSession().modify(entry.getDn(), entry.getModificationItems());
            }
        }
        ldifReader.close();

        kdcServer = new KdcServer();
        kdcServer.setServiceName("DefaultKrbServer");
        kdcServer.setKdcPrincipal("krbtgt/service.ws.apache.org@service.ws.apache.org");
        kdcServer.setPrimaryRealm("service.ws.apache.org");
View Full Code Here

        // -------------------------------------------------------------------
        // Add a single test entry
        // -------------------------------------------------------------------

        LdifReader reader = new LdifReader();
        List<LdifEntry> entries = reader.parseLdif( LDIF );
        LdifEntry entry = entries.get(0);
        testEntries.add( entry );

        // -------------------------------------------------------------------
        // Add more from an optional LDIF file if they exist
        // -------------------------------------------------------------------

        InputStream in = null;
        if ( loadClass != null && ldifPath == null )
        {
            in = loadClass.getResourceAsStream( getName() + ".ldif" );
        }
        else if ( loadClass == null && ldifPath != null )
        {
            File ldifFile = new File( ldifPath );
            if ( ldifFile.exists() )
            {
                //noinspection UnusedAssignment
                in = new FileInputStream( ldifPath );
            }
            else
            {
                //noinspection UnusedAssignment
                in = getClass().getResourceAsStream( ldifPath );
            }
            throw new FileNotFoundException( ldifPath );
        }
        else if ( loadClass != null )
        {
            in = loadClass.getResourceAsStream( ldifPath );
        }

        if ( in != null )
        {
            for ( LdifEntry ldifEntry:new LdifReader( in ) )
            {
                testEntries.add( ldifEntry );
            }
        }
View Full Code Here

     * @param ldif the ldif containing entries to add to the server.
     * @throws NamingException if there is a problem adding the entries from the LDIF
     */
    protected void injectEntries( String ldif ) throws Exception
    {
        LdifReader reader = new LdifReader();
        List<LdifEntry> entries = reader.parseLdif( ldif );

        for ( LdifEntry entry : entries )
        {
            service.getAdminSession().add(
                new DefaultServerEntry( service.getRegistries(), entry.getEntry() ) );
View Full Code Here

            "m-typeObjectClass: STRUCTURAL\n" +
            "m-obsolete: FALSE\n" +
            "m-description: A ship\n";

        StringReader in = new StringReader( numberOfGunsAttrLdif + "\n\n" + shipOCLdif );
        LdifReader ldifReader = new LdifReader( in );
        LdifEntry numberOfGunsAttrEntry = ldifReader.next();
        LdifEntry shipOCEntry = ldifReader.next();
        assertFalse( ldifReader.hasNext() );
       
        // should be fine with unique OID
        service.getAdminSession().add(
            new DefaultServerEntry( service.getRegistries(), numberOfGunsAttrEntry.getEntry() ) );
View Full Code Here

TOP

Related Classes of org.apache.directory.shared.ldap.ldif.LdifReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.