Java源码示例:me.prettyprint.hector.api.factory.HFactory

示例1
/**
 * Add OpsEvent for the given ciId
 *
 * @param ciId
 * @param eventName
 * @param eventId
 * @param ciState
 * @return
 */
public boolean addOpenEventForCi(long ciId, String eventName, long eventId, String ciState) {
    boolean isNew = false;
    long lastOpenId = getCiOpenEventId(ciId, eventName);

    if (lastOpenId == 0) {
        List<HColumn<String, byte[]>> subCols = new ArrayList<>();

        HColumn<String, byte[]> eventIdCol = HFactory.createColumn("id", longSerializer.toBytes(eventId), stringSerializer, bytesSerializer);
        HColumn<String, byte[]> eventStateCol = HFactory.createColumn("state", ciState.getBytes(), stringSerializer, bytesSerializer);
        subCols.add(eventIdCol);
        subCols.add(eventStateCol);

        ciMutator.insert(ciId,
                SchemaBuilder.CI_OPEN_EVENTS_CF,
                HFactory.createSuperColumn(eventName, subCols, stringSerializer, stringSerializer, bytesSerializer));
        isNew = true;
    }
    logger.debug("there is already an open event for" + ciId + " " + eventName + " lastOpenId " + lastOpenId);

    return isNew;
}
 
示例2
@Override
public List<String> getRootNamespaces( RepositorySession session, final String repoId )
    throws MetadataResolutionException
{

    QueryResult<OrderedRows<String, String, String>> result = HFactory //
        .createRangeSlicesQuery( keyspace, ss, ss, ss ) //
        .setColumnFamily( cassandraArchivaManager.getNamespaceFamilyName() ) //
        .setColumnNames( NAME.toString() ) //
        .addEqualsExpression( REPOSITORY_NAME.toString(), repoId ) //
        .execute();

    Set<String> namespaces = new HashSet<>( result.get( ).getCount( ) );

    for ( Row<String, String, String> row : result.get() )
    {
        namespaces.add( StringUtils.substringBefore( getStringValue( row.getColumnSlice(), NAME.toString() ), "." ) );
    }

    return new ArrayList<>( namespaces );
}
 
示例3
protected Map<String, String> getChecksums( String artifactMetadataKey )
{
    Map<String, String> checksums = new HashMap<>();

    QueryResult<OrderedRows<String, String, String>> result =
            HFactory.createRangeSlicesQuery( cassandraArchivaManager.getKeyspace(), ss, ss, ss ) //
                    .setColumnFamily( cassandraArchivaManager.getChecksumFamilyName() ) //
                    .setColumnNames( ARTIFACT_METADATA_MODEL_KEY, REPOSITORY_NAME.toString(),
                            CHECKSUM_ALG.toString(), CHECKSUM_VALUE.toString() ) //
                    .setRowCount( Integer.MAX_VALUE ) //
                    .addEqualsExpression(ARTIFACT_METADATA_MODEL_KEY, artifactMetadataKey) //
                    .execute();
    for ( Row<String, String, String> row : result.get() )
    {
        ColumnFamilyResult<String, String> columnFamilyResult =
                this.checksumTemplate.queryColumns( row.getKey() );

        checksums.put(columnFamilyResult.getString(CHECKSUM_ALG.toString()),
                columnFamilyResult.getString(CHECKSUM_VALUE.toString()));
    }

    return checksums;
}
 
示例4
/**
 * Query open events with given ciId
 *
 * @param ciId
 * @param eventName
 * @return
 */
public long getCiOpenEventId(long ciId, String eventName) {
    SubColumnQuery<Long, String, String, byte[]> scolq = HFactory.createSubColumnQuery(
            keyspace,
            longSerializer,
            stringSerializer,
            stringSerializer,
            bytesSerializer)
            .setColumnFamily(SchemaBuilder.CI_OPEN_EVENTS_CF)
            .setKey(ciId)
            .setSuperColumn(eventName)
            .setColumn("id");

    HColumn<String, byte[]> resultCol = scolq.execute().get();
    if (resultCol != null) {
        return longSerializer.fromBytes(resultCol.getValue());
    }

    return 0;
}
 
示例5
protected List<License> getLicenses( String projectVersionMetadataKey )
{
    List<License> licenses = new ArrayList<>();

    QueryResult<OrderedRows<String, String, String>> result =
        HFactory.createRangeSlicesQuery( cassandraArchivaManager.getKeyspace(), ss, ss, ss ) //
            .setColumnFamily( cassandraArchivaManager.getLicenseFamilyName() ) //
            .setColumnNames( "projectVersionMetadataModel.key" ) //
            .setRowCount( Integer.MAX_VALUE ) //
            .addEqualsExpression( "projectVersionMetadataModel.key", projectVersionMetadataKey ) //
            .execute();

    for ( Row<String, String, String> row : result.get() )
    {
        ColumnFamilyResult<String, String> columnFamilyResult = this.licenseTemplate.queryColumns( row.getKey() );

        licenses.add(
            new License( columnFamilyResult.getString( NAME.toString() ), columnFamilyResult.getString( URL.toString() ) ) );
    }

    return licenses;
}
 
示例6
/**
 * Query and returns list of Open Events.
 *
 * @param ciId
 * @return
 */
public List<CiOpenEvent> getCiOpenEvents(long ciId) {
    SuperSliceQuery<Long, String, String, byte[]> ssQuery = HFactory.createSuperSliceQuery(
            keyspace,
            longSerializer,
            stringSerializer,
            stringSerializer,
            bytesSerializer)
            .setColumnFamily(SchemaBuilder.CI_OPEN_EVENTS_CF)
            .setKey(ciId)
            .setRange(null, null, false, 1000);

    SuperSlice<String, String, byte[]> sSlice = ssQuery.execute().get();
    List<CiOpenEvent> openEvents = new ArrayList<>();

    if (sSlice != null) {
        for (HSuperColumn<String, String, byte[]> sCol : sSlice.getSuperColumns()) {
            CiOpenEvent event = parseSuperCol(sCol);
            openEvents.add(event);
        }
    }
    return openEvents;
}
 
示例7
/**
 * Get the list of users mapped to a role.
 */
@Override
public String[] doGetUserListOfRole(String roleName, String filter) throws UserStoreException {

    List<String> usersList = new ArrayList<String>();
    Composite key = new Composite();
    key.addComponent(roleName, stringSerializer);
    key.addComponent(tenantIdString, stringSerializer);
    SliceQuery<Composite, String, String> query = HFactory
            .createSliceQuery(keyspace, CompositeSerializer.get(), StringSerializer.get(), StringSerializer.get())
            .setKey(key).setColumnFamily(CFConstants.UM_ROLE_USER_INDEX);

    ColumnSliceIterator<Composite, String, String> iterator = new ColumnSliceIterator<Composite, String, String>(
            query, null, "\uFFFF", false);

    while (iterator.hasNext()) {
        HColumn<String, String> column = iterator.next();
        usersList.add(column.getValue());
    }
    return usersList.toArray(new String[usersList.size()]);
}
 
示例8
/**
 * Query the ops events with given eventId
 *
 * @param key
 * @param eventId
 * @return
 */
public OpsEvent getOpsEvent(String key, long eventId) {
    SliceQuery<String, Long, String> sliceQuery = HFactory.createSliceQuery(
            keyspace,
            stringSerializer,
            longSerializer,
            stringSerializer)
            .setColumnFamily(SchemaBuilder.OPS_EVENTS_CF)
            .setColumnNames(eventId)
            .setKey(key);

    ColumnSlice<Long, String> resultCols = sliceQuery.execute().get();
    if (resultCols.getColumns().size() > 0) {
        String eventJson = resultCols.getColumns().get(0).getValue();
        OpsEvent event = gson.fromJson(eventJson, OpsEvent.class);
        return event;
    }
    return null;
}
 
示例9
/**
 * Query ops event history
 *
 * @param key
 * @param startTime
 * @param endTime
 * @param count
 * @return
 */
public List<OpsEvent> getOpsEventHistory(String key, Long startTime, Long endTime, int count) {
    List<OpsEvent> events = new ArrayList<>();

    SliceQuery<String, Long, String> sliceQuery = HFactory.createSliceQuery(
            keyspace,
            stringSerializer,
            longSerializer,
            stringSerializer)
            .setColumnFamily(SchemaBuilder.OPS_EVENTS_CF)
            .setRange(startTime, endTime, false, count)
            .setKey(key);

    ColumnSlice<Long, String> resultCols = sliceQuery.execute().get();
    for (HColumn<Long, String> col : resultCols.getColumns()) {
        OpsEvent event = gson.fromJson(col.getValue(), OpsEvent.class);
        events.add(event);
    }
    return events;
}
 
示例10
/**
 * Query ops event history util method
 *
 * @param ciId
 * @param startTime
 * @param endTime
 * @param count
 * @return
 */
public List<OpsEvent> getOpsEventHistory(long ciId, Long startTime, Long endTime, int count) {
    List<OpsEvent> events = new ArrayList<>();

    RangeSlicesQuery<String, Long, String> query = HFactory.createRangeSlicesQuery(
            keyspace,
            stringSerializer,
            longSerializer,
            stringSerializer)
            .setColumnFamily(SchemaBuilder.OPS_EVENTS_CF)
            .setKeys(String.valueOf(ciId) + Character.MIN_VALUE, String.valueOf(ciId) + Character.MAX_VALUE)
            .setRange(startTime, endTime, false, count);

    OrderedRows<String, Long, String> rows = query.execute().get();
    for (Row<String, Long, String> row : rows) {
        ColumnSlice<Long, String> resultCols = row.getColumnSlice();
        for (HColumn<Long, String> col : resultCols.getColumns()) {
            OpsEvent event = gson.fromJson(col.getValue(), OpsEvent.class);
            events.add(event);
        }
    }
    return events;
}
 
示例11
public List<CiChangeStateEvent> getCiStateHistory(long ciId, Long startTime, Long endTime, Integer count) {

        if (count == null) count = 1000;
        List<CiChangeStateEvent> states = new ArrayList<CiChangeStateEvent>();
        SliceQuery<Long, Long, String> sliceQuery = HFactory.createSliceQuery(keyspace, longSerializer, longSerializer, stringSerializer);
        sliceQuery.setColumnFamily(SchemaBuilder.CI_STATE_HIST_CF);
        sliceQuery.setRange(startTime, endTime, false, count);
        sliceQuery.setKey(ciId);
        QueryResult<ColumnSlice<Long, String>> result = sliceQuery.execute();
        ColumnSlice<Long, String> resultCols = result.get();
        for (HColumn<Long, String> col : resultCols.getColumns()) {
            CiChangeStateEvent event = gson.fromJson(col.getValue(), CiChangeStateEvent.class);
            states.add(event);
        }
        return states;
    }
 
示例12
public Map<Long,Map<String,Long>> getComponentStates(List<Long> manifestIds) {
  	
  	Map<Long,Map<String,Long>> result = new HashMap<Long,Map<String,Long>>();
  	MultigetSliceCounterQuery<Long, String> query =  HFactory.createMultigetSliceCounterQuery(keyspace, longSerializer, stringSerializer);
  	
  	query.setKeys(manifestIds);		
  	query.setColumnFamily(SchemaBuilder.COMPONENT_STATE_CF);
  	query.setRange(null, null, false, 1000);
  	QueryResult<CounterRows<Long,String>> qResult = query.execute();

  	CounterRows<Long,String> rows = qResult.get();

for (CounterRow<Long, String> row : rows) {
	if (row.getColumnSlice().getColumns().size() >0) {
		if (!result.containsKey(row.getKey())) {
			result.put(row.getKey(), new HashMap<String,Long>());
		}
		
	    for (HCounterColumn<String> col : row.getColumnSlice().getColumns()) {
	    	result.get(row.getKey()).put(col.getName(), col.getValue());
	    }
	}
}
  	
  	return result;
  }
 
示例13
public Map<String,Long> getComponentStates(Long manifestId) {
  	
  	Map<String,Long> result = new HashMap<String,Long>();
  	SliceCounterQuery<Long, String> query =  HFactory.createCounterSliceQuery(keyspace, longSerializer, stringSerializer);
  	query.setKey(manifestId);
  	query.setColumnFamily(SchemaBuilder.COMPONENT_STATE_CF);
  	query.setRange(null, null, false, 100);
  	QueryResult<CounterSlice<String>> qResult = query.execute();

  	CounterSlice<String> row = qResult.get();		
if (row != null && row.getColumns().size()>0) {
	for (HCounterColumn<String> col :row.getColumns()) {
		result.put(col.getName(), col.getValue());
	}
}
  	return result;
  }
 
示例14
protected void removeMailingList( String projectVersionMetadataKey )
{

    QueryResult<OrderedRows<String, String, String>> result =
        HFactory.createRangeSlicesQuery( cassandraArchivaManager.getKeyspace(), ss, ss, ss ) //
            .setColumnFamily( cassandraArchivaManager.getMailingListFamilyName() ) //
            .setColumnNames( NAME.toString() ) //
            .setRowCount( Integer.MAX_VALUE ) //
            .addEqualsExpression( "projectVersionMetadataModel.key", projectVersionMetadataKey ) //
            .execute();

    if ( result.get().getCount() < 1 )
    {
        return;
    }

    for ( Row<String, String, String> row : result.get() )
    {
        this.mailingListTemplate.deleteRow( row.getKey() );
    }

}
 
示例15
/**
 * Bean post init method. The following configuration is used
 * for initializing the ThresholdsDao cassandra cluster,
 * <p>
 * <ul>
 * <li>Active clients per node - 4</li>
 * <li>Cassandra Thrift timeout - 600 sec</li>
 * </ul>
 */
public void init() {
    logger.info("Initializing Monitor Thresholds Dao...");

    Cluster cluster = cb.getCluster(clusterName, 4, timeout);
    logger.info("Connected to cluster : " + clusterName);

    SchemaBuilder.createSchema(cluster, keyspaceName);
    ConfigurableConsistencyLevel cl = new ConfigurableConsistencyLevel();
    cl.setDefaultWriteConsistencyLevel(HConsistencyLevel.ONE);
    cl.setDefaultReadConsistencyLevel(HConsistencyLevel.ONE);

    keyspace = HFactory.createKeyspace(keyspaceName, cluster, cl);
    thresholdMutator = HFactory.createMutator(keyspace, longSerializer);
    manifestMapMutator = HFactory.createMutator(keyspace, longSerializer);
    realizedAsMutator = HFactory.createMutator(keyspace, longSerializer);
}
 
示例16
public Long getManifestId(long ciId) {

        SliceQuery<Long, String, Long> sliceQuery = HFactory.createSliceQuery(
                keyspace,
                longSerializer,
                stringSerializer,
                longSerializer)
                .setColumnFamily(SchemaBuilder.MANIFESTMAP_CF)
                .setColumnNames("manifestid")
                .setKey(ciId);

        QueryResult<ColumnSlice<String, Long>> result = sliceQuery.execute();
        ColumnSlice<String, Long> resultCols = result.get();
        if (resultCols.getColumnByName("manifestid") != null) {
            return resultCols.getColumnByName("manifestid").getValue();
        }
        return null;
    }
 
示例17
public Map<Long, List<Long>> getManifestCiIds(List<Long> manifestIds) {

        MultigetSliceQuery<Long, Long, Long> msQuery = HFactory.createMultigetSliceQuery(keyspace, longSerializer, longSerializer, longSerializer);
        msQuery.setColumnFamily(SchemaBuilder.REALIZED_AS_CF);
        msQuery.setRange(null, null, false, 10000);
        msQuery.setKeys(manifestIds);

        Rows<Long, Long, Long> rows = msQuery.execute().get();
        Map<Long, List<Long>> manifestCiIds = new HashMap<>();
        if (rows != null) {

            for (Row<Long, Long, Long> row : rows) {
                ColumnSlice<Long, Long> slice = row.getColumnSlice();

                if (slice != null && slice.getColumns().size() > 0) {
                    manifestCiIds.put(row.getKey(), new ArrayList<>());
                    for (HColumn<Long, Long> col : slice.getColumns()) {
                        manifestCiIds.get(row.getKey()).add(col.getName());
                    }
                }
            }
        }
        return manifestCiIds;
    }
 
示例18
protected List<String> getNamespaces( final String repoId )
    throws MetadataResolutionException
{

    QueryResult<OrderedRows<String, String, String>> result = HFactory //
        .createRangeSlicesQuery( keyspace, ss, ss, ss ) //
        .setColumnFamily( cassandraArchivaManager.getNamespaceFamilyName() ) //
        .setColumnNames( NAME.toString() ) //
        .addEqualsExpression( REPOSITORY_NAME.toString(), repoId ) //
        .execute();

    List<String> namespaces = new ArrayList<>( result.get().getCount() );

    for ( Row<String, String, String> row : result.get() )
    {
        namespaces.add( getStringValue( row.getColumnSlice(), NAME.toString() ) );
    }

    return namespaces;
}
 
示例19
public Threshold getThreshold(long manifestId, String source) {
    SubSliceQuery<Long, String, String, byte[]> scolq = HFactory.createSubSliceQuery(
            keyspace,
            longSerializer,
            stringSerializer,
            stringSerializer,
            bytesSerializer)
            .setColumnFamily(SchemaBuilder.THRESHOLDS_CF)
            .setKey(manifestId)
            .setSuperColumn(source)
            .setRange(null, null, false, 100);
    QueryResult<ColumnSlice<String, byte[]>> result = scolq.execute();
    ColumnSlice<String, byte[]> resultCols = result.get();

    if (resultCols.getColumns().size() > 0) {
        return getThresholdFromCols(resultCols);
    } else {
        return null;
    }
}
 
示例20
public Threshold _getThresholdNoDef(String key) {
    SliceQuery<String, String, byte[]> sliceQuery = HFactory.createSliceQuery(keyspace, stringSerializer, stringSerializer, bytesSerializer);
    sliceQuery.setColumnFamily(SchemaBuilder.THRESHOLDS_CF);
    sliceQuery.setColumnNames("checksum", "historics");
    sliceQuery.setKey(key);

    QueryResult<ColumnSlice<String, byte[]>> result = sliceQuery.execute();
    ColumnSlice<String, byte[]> resultCols = result.get();

    if (resultCols.getColumns().size() > 0) {
        Threshold threshold = new Threshold();
        if (resultCols.getColumnByName("checksum") != null) {
            threshold.setCrc(longSerializer.fromBytes(resultCols.getColumnByName("checksum").getValue()));
        }

        if (resultCols.getColumnByName("historics") != null) {
            threshold.setHistorics(stringSerializer.fromBytes(resultCols.getColumnByName("historics").getValue()));
        }

        return threshold;
    } else {
        return null;
    }
}
 
示例21
protected void removeChecksums( String artifactMetadataKey )
{

    QueryResult<OrderedRows<String, String, String>> result =
            HFactory.createRangeSlicesQuery( cassandraArchivaManager.getKeyspace(), ss, ss, ss ) //
                    .setColumnFamily( cassandraArchivaManager.getChecksumFamilyName() ) //
                    .setColumnNames( CHECKSUM_ALG.toString() ) //
                    .setRowCount( Integer.MAX_VALUE ) //
                    .addEqualsExpression(ARTIFACT_METADATA_MODEL_KEY, artifactMetadataKey ) //
                    .execute();

    if ( result.get().getCount() < 1 )
    {
        return;
    }

    for ( Row<String, String, String> row : result.get() )
    {
        this.checksumTemplate.deleteRow( row.getKey() );
    }

}
 
示例22
@Override
public void removeMetadataFacet( RepositorySession session, final String repositoryId, final String facetId, final String name )
    throws MetadataRepositoryException
{

    QueryResult<OrderedRows<String, String, String>> result = HFactory //
        .createRangeSlicesQuery( keyspace, ss, ss, ss ) //
        .setColumnFamily( cassandraArchivaManager.getMetadataFacetFamilyName() ) //
        .setColumnNames( KEY.toString(), VALUE.toString() ) //
        .addEqualsExpression( REPOSITORY_NAME.toString(), repositoryId ) //
        .addEqualsExpression( FACET_ID.toString(), facetId ) //
        .addEqualsExpression( NAME.toString(), name ) //
        .execute();

    for ( Row<String, String, String> row : result.get() )
    {
        this.metadataFacetTemplate.deleteRow( row.getKey() );
    }
}
 
示例23
@Override
public List<String> getProjects( RepositorySession session, final String repoId, final String namespace )
    throws MetadataResolutionException
{

    QueryResult<OrderedRows<String, String, String>> result = HFactory //
        .createRangeSlicesQuery( keyspace, ss, ss, ss ) //
        .setColumnFamily( cassandraArchivaManager.getProjectFamilyName() ) //
        .setColumnNames( PROJECT_ID.toString() ) //
        .addEqualsExpression( REPOSITORY_NAME.toString(), repoId ) //
        .addEqualsExpression( NAMESPACE_ID.toString(), namespace ) //
        .execute();

    final Set<String> projects = new HashSet<>( result.get( ).getCount( ) );

    for ( Row<String, String, String> row : result.get() )
    {
        projects.add( getStringValue( row.getColumnSlice(), PROJECT_ID.toString() ) );
    }

    return new ArrayList<>( projects );
}
 
示例24
protected Namespace getNamespace( String repositoryId, String namespaceId )
{

    QueryResult<OrderedRows<String, String, String>> result = HFactory //
        .createRangeSlicesQuery( keyspace, ss, ss, ss ) //
        .setColumnFamily( cassandraArchivaManager.getNamespaceFamilyName() ) //
        .setColumnNames( REPOSITORY_NAME.toString(), NAME.toString() ) //
        .addEqualsExpression( REPOSITORY_NAME.toString(), repositoryId ) //
        .addEqualsExpression( NAME.toString(), namespaceId ) //
        .execute();
    if ( result.get().getCount() > 0 )
    {
        ColumnSlice<String, String> columnSlice = result.get().getList().get( 0 ).getColumnSlice();
        return new Namespace( getStringValue( columnSlice, NAME.toString() ), //
                              new Repository( getStringValue( columnSlice, REPOSITORY_NAME.toString() ) ) );

    }
    return null;
}
 
示例25
/**
 * Checks if the role is existing the role store.
 */
@Override
protected boolean doCheckExistingRole(String roleNameWithTenantDomain) throws UserStoreException {

    RoleContext roleContext = createRoleContext(roleNameWithTenantDomain);
    boolean isExisting = false;

    String roleName = roleContext.getRoleName();

    Composite key = new Composite();
    key.addComponent(roleName, stringSerializer);
    key.addComponent(tenantIdString, stringSerializer);

    ColumnQuery<Composite, String, String> getCredentialQuery = HFactory.createColumnQuery(keyspace,
            CompositeSerializer.get(), stringSerializer, stringSerializer);

    getCredentialQuery.setColumnFamily(CFConstants.UM_ROLES).setKey(key).setName(CFConstants.UM_ROLE_NAME);

    HColumn<String, String> result = getCredentialQuery.execute().get();
    if (result != null && result.getValue() != null) {
        isExisting = true;
    }

    return isExisting;
}
 
示例26
/**
 * Maps the users to a role list. Adds the (username, tenantId) -> roleList
 * and (role, tenantId) -> userName
 *
 * @param userName The username of the user the roles need to be added to.
 * @param roleList The list of roles that needs to be mapped against the user.
 */
private void addUserToRoleList(String userName, String[] roleList) {

    Mutator<Composite> mutator = HFactory.createMutator(keyspace, CompositeSerializer.get());

    if (roleList != null) {
        for (String role : roleList) {
            Composite key = new Composite();
            key.addComponent(userName, stringSerializer);
            key.addComponent(tenantIdString, stringSerializer);

            mutator.addInsertion(key, CFConstants.UM_USER_ROLE, HFactory.createColumn(role, role));

            Composite keyRole = new Composite();
            keyRole.addComponent(role, stringSerializer);
            keyRole.addComponent(tenantIdString, stringSerializer);

            mutator.addInsertion(keyRole, CFConstants.UM_ROLE_USER_INDEX, HFactory.createColumn(userName, userName));

        }
        mutator.execute();
    }
}
 
示例27
/**
 * Maps the users to a role list. Adds the (username, tenantId) -> roleList
 * and (role, tenantId) -> userName
 *
 * @param userName The username of the user the roles need to be added to.
 * @param roleList The list of roles that needs to be mapped against the user.
 * @param mutator  Passes the mutator and returns it with the insert statements.
 */
private Mutator<Composite> addUserToRoleList(String userName, String[] roleList, Mutator<Composite> mutator) {
    if (roleList != null && mutator != null) {
        for (String role : roleList) {
            Composite key = new Composite();
            key.addComponent(userName, stringSerializer);
            key.addComponent(tenantIdString, stringSerializer);

            mutator.addInsertion(key, CFConstants.UM_USER_ROLE, HFactory.createColumn(role, role));

            Composite keyRole = new Composite();
            keyRole.addComponent(role, stringSerializer);
            keyRole.addComponent(tenantIdString, stringSerializer);

            mutator.addInsertion(keyRole, CFConstants.UM_ROLE_USER_INDEX, HFactory.createColumn(userName, userName));

        }
    }
    return mutator;
}
 
示例28
/**
 * Maps the role to a user list. Adds the (username, tenantId) -> roleList
 * and (role, tenantId) -> userName
 *
 * @param userNames The username list of the user the role need to be added to.
 * @param roleName  The role that needs to be mapped against the user list.
 * @param mutator   Passes the mutator and returns it with the insert statements.
 */
private Mutator<Composite> addRoleToUsersList(String[] userNames, String roleName, Mutator<Composite> mutator) {
    if (userNames != null) {
        for (String userName : userNames) {

            Composite key = new Composite();
            key.addComponent(userName, stringSerializer);
            key.addComponent(tenantIdString, stringSerializer);

            mutator.addInsertion(key, CFConstants.UM_USER_ROLE, HFactory.createColumn(roleName, roleName));

            Composite keyRole = new Composite();
            keyRole.addComponent(roleName, stringSerializer);
            keyRole.addComponent(tenantIdString, stringSerializer);

            mutator.addInsertion(keyRole, CFConstants.UM_ROLE_USER_INDEX, HFactory.createColumn(userName, userName));

        }

    }
    return mutator;
}
 
示例29
/**
 * Bean post init method. The following configuration is used
 * for initializing the OpsEventDao cassandra cluster,
 * <p>
 * <ul>
 * <li>Active clients per node - 4</li>
 * <li>Cassandra Thrift timeout - 5 sec </li>
 * </ul>
 */
public void init() {
    logger.info("Initializing OpsEvent Dao...");
    Cluster cluster = cb.getCluster(clusterName, 4, 5 * 1000);
    logger.info("Connected to cluster : " + clusterName);

    SchemaBuilder.createSchema(cluster, keyspaceName);
    ConfigurableConsistencyLevel cl = new ConfigurableConsistencyLevel();
    cl.setDefaultWriteConsistencyLevel(HConsistencyLevel.ONE);
    cl.setDefaultReadConsistencyLevel(HConsistencyLevel.ONE);
    keyspace = createKeyspace(keyspaceName, cluster, cl);
    eventMutator = HFactory.createMutator(keyspace, bytesSerializer);
    ciMutator = HFactory.createMutator(keyspace, longSerializer);
    orphanCloseMutator = HFactory.createMutator(keyspace, longSerializer);
}
 
示例30
public void addOrphanCloseEventForCi(long ciId, String eventName, long manifestId, String openEvent) {
	String event = getOrphanCloseEventForCi(ciId, eventName, manifestId);
	if (event == null) {
		List<HColumn<String, byte[]>> subCols = new ArrayList<>();

		HColumn<String, byte[]> payloadCol = HFactory.createColumn(eventName, openEvent.getBytes(),
				stringSerializer, bytesSerializer);
		subCols.add(payloadCol);

		orphanCloseMutator.insert(ciId, SchemaBuilder.ORPHAN_CLOSE_EVENTS_CF, HFactory.createSuperColumn(manifestId,
				subCols, longSerializer, stringSerializer, bytesSerializer));
	}
}