当前位置: 首页>>代码示例>>Java>>正文


Java Schema类代码示例

本文整理汇总了Java中org.apache.directory.api.ldap.model.schema.registries.Schema的典型用法代码示例。如果您正苦于以下问题:Java Schema类的具体用法?Java Schema怎么用?Java Schema使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Schema类属于org.apache.directory.api.ldap.model.schema.registries包,在下文中一共展示了Schema类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: updateSchemas

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
private void updateSchemas( SchemaObject schemaObject )
{
    String schemaName = schemaObject.getSchemaName();
    Schema schema;

    if ( Strings.isEmpty( schemaName ) || "null".equals( schemaName ) )
    {
        schemaName = "default";
        schema = schemaMap.get( schemaName );
    }
    else
    {
        schema = schemaMap.get( schemaName );
    }

    if ( schema == null )
    {
        schema = new DefaultSchema( this, schemaName );

        schemaMap.put( schemaName, schema );
    }

    schema.getContent().add( new SchemaObjectWrapper( schemaObject ) );

}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:26,代码来源:DefaultSchemaLoader.java

示例2: getAllSchemas

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public List<Schema> getAllSchemas()
{
    List<Schema> schemas = new ArrayList<>();

    for ( Schema schema : schemaMap.values() )
    {
        if ( schema.isEnabled() )
        {
            schemas.add( schema );
        }
    }

    return schemas;
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:19,代码来源:DefaultSchemaManager.java

示例3: loadSchemaObjects

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
private List<Entry> loadSchemaObjects( String schemaObjectType, Schema... schemas ) throws LdapException,
    IOException
{
    Map<String, List<Entry>> m = scObjEntryMap.get( schemaObjectType );
    List<Entry> atList = new ArrayList<>();

    for ( Schema s : schemas )
    {
        List<Entry> preLoaded = m.get( s.getSchemaName() );
        
        if ( preLoaded != null )
        {
            atList.addAll( preLoaded );
        }
    }

    return atList;
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:19,代码来源:SingleLdifSchemaLoader.java

示例4: loadAllEnabled

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public boolean loadAllEnabled() throws LdapException
{
    Schema[] schemas = new Schema[schemaMap.size()];
    int i = 0;
    
    for ( Schema schema : schemaMap.values() )
    {
        if ( schema.isEnabled() )
        {
            schemas[i++] = schema;
        }
    }
    
    Schema[] enabledSchemas = new Schema[i];
    System.arraycopy( schemas, 0, enabledSchemas, 0, i );
    
    return loadWithDeps( enabledSchemas );
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:23,代码来源:DefaultSchemaManager.java

示例5: unload

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * Unload the schema from the registries. We will unload everything accordingly to the two flags :
 * - isRelaxed
 * - disabledAccepted
 */
private boolean unload( Registries registries, Schema schema ) throws LdapException
{
    if ( schema == null )
    {
        LOG.info( "The schema is null" );
        return false;
    }

    // First avoid unloading twice the same schema
    if ( !registries.isSchemaLoaded( schema.getSchemaName() ) )
    {
        return true;
    }

    if ( schema.isEnabled() )
    {
        LOG.info( "Unloading {} schema: \n{}", schema.getSchemaName(), schema );

        deleteSchemaObjects( schema, registries );
        registries.schemaUnloaded( schema );
    }

    return true;
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:30,代码来源:DefaultSchemaManager.java

示例6: getSchema

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * Get the schema from its name. Return the Other reference if there
 * is no schema name. Throws a NPE if the schema is not loaded.
 */
private Schema getSchema( String schemaName, Registries registries )
{
    if ( Strings.isEmpty( schemaName ) )
    {
        schemaName = MetaSchemaConstants.SCHEMA_OTHER;
    }

    Schema schema = registries.getLoadedSchema( schemaName );

    if ( schema == null )
    {
        String msg = I18n.err( I18n.ERR_10009, schemaName );
        LOG.error( msg );
    }

    return schema;
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:22,代码来源:SchemaEntityFactory.java

示例7: loadAllEnabledRelaxed

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public boolean loadAllEnabledRelaxed() throws LdapException
{
    Schema[] enabledSchemas = new Schema[schemaMap.size()];
    int i = 0;
    
    for ( Schema schema : schemaMap.values() )
    {
        if ( schema.isEnabled() )
        {
            enabledSchemas[i++] = schema;
        }
    }
    
    return loadWithDepsRelaxed( enabledSchemas );
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:20,代码来源:DefaultSchemaManager.java

示例8: DefaultSchemaManager

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * Creates a new instance of DefaultSchemaManager with the default schema schemaLoader
 * 
 * @param schemas The list of schema to load
 */
public DefaultSchemaManager( Collection<Schema> schemas )
{
    // Default to the the root (one schemaManager for all the entries
    namingContext = Dn.ROOT_DSE;
    
    for ( Schema schema : schemas )
    {
        schemaMap.put( schema.getSchemaName(), schema );
    }
    
    errors = new ArrayList<>();
    registries = new Registries();
    factory = new SchemaEntityFactory();
    isRelaxed = STRICT;
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:21,代码来源:DefaultSchemaManager.java

示例9: toArray

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * Transform a String[] array of schema to a Schema[]
 */
private Schema[] toArray( String... schemas ) throws LdapException
{
    Schema[] schemaArray = new Schema[schemas.length];
    int n = 0;

    for ( String schemaName : schemas )
    {
        Schema schema = schemaMap.get( schemaName );

        if ( schema != null )
        {
            schemaArray[n++] = schema;
        }
        else
        {
            throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM, I18n.err(
                I18n.ERR_11001, schemaName ) );
        }
    }

    return schemaArray;
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:26,代码来源:DefaultSchemaManager.java

示例10: addSchemaObjects

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
private void addSchemaObjects( Schema schema, Registries registries ) throws LdapException
{
    // Create a content container for this schema
    registries.addSchema( schema.getSchemaName() );
    schemaMap.put( schema.getSchemaName(), schema );

    // And inject any existing SchemaObject into the registries
    try
    {
        addComparators( schema, registries );
        addNormalizers( schema, registries );
        addSyntaxCheckers( schema, registries );
        addSyntaxes( schema, registries );
        addMatchingRules( schema, registries );
        addAttributeTypes( schema, registries );
        addObjectClasses( schema, registries );
        //addMatchingRuleUses( schema, registries );
        //addDitContentRules( schema, registries );
        //addNameForms( schema, registries );
        //addDitStructureRules( schema, registries );
    }
    catch ( IOException ioe )
    {
        throw new LdapOtherException( ioe.getMessage(), ioe );
    }
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:27,代码来源:DefaultSchemaManager.java

示例11: deleteSchemaObjects

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * Delete all the schemaObjects for a given schema from the registries
 */
private void deleteSchemaObjects( Schema schema, Registries registries ) throws LdapException
{
    Map<String, Set<SchemaObjectWrapper>> schemaObjects = registries.getObjectBySchemaName();
    Set<SchemaObjectWrapper> content = schemaObjects.get( Strings.toLowerCaseAscii( schema.getSchemaName() ) );

    List<SchemaObject> toBeDeleted = new ArrayList<>();

    if ( content != null )
    {
        // Build an intermediate list to avoid concurrent modifications
        for ( SchemaObjectWrapper schemaObjectWrapper : content )
        {
            toBeDeleted.add( schemaObjectWrapper.get() );
        }

        for ( SchemaObject schemaObject : toBeDeleted )
        {
            registries.delete( errors, schemaObject );
        }
    }
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:25,代码来源:DefaultSchemaManager.java

示例12: getEnabled

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public List<Schema> getEnabled()
{
    List<Schema> enabled = new ArrayList<>();

    for ( Schema schema : registries.getLoadedSchemas().values() )
    {
        if ( schema.isEnabled() )
        {
            enabled.add( schema );
        }
    }

    return enabled;
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:19,代码来源:DefaultSchemaManager.java

示例13: getAttributes

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * Get a SchemaObject as an Entry
 *
 * @param obj The schema oobject to convert
 * @param schema The schema which this object belongs to
 * @param schemaManager The SchemaManager
 * @return The converted schema object as an Entry
 * @throws LdapException If we can't convert teh schema object
 */
public Entry getAttributes( SchemaObject obj, Schema schema, SchemaManager schemaManager ) throws LdapException
{
    if ( obj instanceof LdapSyntax )
    {
        return convert( ( LdapSyntax ) obj, schema, schemaManager );
    }
    else if ( obj instanceof MatchingRule )
    {
        return convert( ( MatchingRule ) obj, schema, schemaManager );
    }
    else if ( obj instanceof AttributeType )
    {
        return convert( ( AttributeType ) obj, schema, schemaManager );
    }
    else if ( obj instanceof ObjectClass )
    {
        return convert( ( ObjectClass ) obj, schema, schemaManager );
    }
    else if ( obj instanceof MatchingRuleUse )
    {
        return convert( ( MatchingRuleUse ) obj, schema, schemaManager );
    }
    else if ( obj instanceof DitStructureRule )
    {
        return convert( ( DitStructureRule ) obj, schema, schemaManager );
    }
    else if ( obj instanceof DitContentRule )
    {
        return convert( ( DitContentRule ) obj, schema, schemaManager );
    }
    else if ( obj instanceof NameForm )
    {
        return convert( ( NameForm ) obj, schema, schemaManager );
    }

    throw new IllegalArgumentException( "nknown SchemaObject type: " + obj.getClass() );
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:47,代码来源:AttributesFactory.java

示例14: convert

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
/**
 * Converts a Schema to an Entry
 * 
 * @param schema The Schema to convert
 * @param schemaManager The SchemaManager
 * @return An Entry containing the converted Schema
 * @throws LdapException If the conversion failed
 */
public Entry convert( Schema schema, SchemaManager schemaManager ) throws LdapException
{
    Entry entry = new DefaultEntry( schemaManager );

    entry.put( SchemaConstants.OBJECT_CLASS_AT, SchemaConstants.TOP_OC, MetaSchemaConstants.META_SCHEMA_OC );
    entry.put( SchemaConstants.CN_AT, schema.getSchemaName() );
    entry.put( SchemaConstants.CREATORS_NAME_AT, schema.getOwner() );
    entry.put( SchemaConstants.CREATE_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );

    if ( schema.isDisabled() )
    {
        entry.put( MetaSchemaConstants.M_DISABLED_AT, "TRUE" );
    }

    String[] dependencies = schema.getDependencies();

    if ( dependencies != null && dependencies.length > 0 )
    {
        Attribute attr = new DefaultAttribute(
            schemaManager.getAttributeType( MetaSchemaConstants.M_DEPENDENCIES_AT ) );

        for ( String dependency : dependencies )
        {
            attr.add( dependency );
        }

        entry.put( attr );
    }

    return entry;
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:40,代码来源:AttributesFactory.java

示例15: setup

import org.apache.directory.api.ldap.model.schema.registries.Schema; //导入依赖的package包/类
@BeforeClass
public static void setup() throws Exception
{
    workingDirectory = System.getProperty( "workingDirectory" );

    if ( workingDirectory == null )
    {
        String path = MatchingRuleTest.class.getResource( "" ).getPath();
        int targetPos = path.indexOf( "target" );
        workingDirectory = path.substring( 0, targetPos + 6 );
    }

    schemaRepository = new File( workingDirectory, "schema" );

    // Cleanup the target directory
    FileUtils.deleteDirectory( schemaRepository );

    SchemaLdifExtractor extractor = new DefaultSchemaLdifExtractor( new File( workingDirectory ) );
    extractor.extractOrCopy();

    LdifSchemaLoader loader = new LdifSchemaLoader( schemaRepository );
    schemaManager = new DefaultSchemaManager( loader );
    for ( Schema schema : loader.getAllSchemas() )
    {
        schema.enable();
    }
    schemaManager.loadAllEnabled();
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:29,代码来源:MatchingRuleTest.java


注:本文中的org.apache.directory.api.ldap.model.schema.registries.Schema类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。