Example usage for java.util.concurrent.locks Lock unlock

List of usage examples for java.util.concurrent.locks Lock unlock

Introduction

In this page you can find the example usage for java.util.concurrent.locks Lock unlock.

Prototype

void unlock();

Source Link

Document

Releases the lock.

Usage

From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java

public String getChildOf() {
    Lock lock = rwChildOfLock.readLock();
    lock.lock();//  w  w w.ja va  2 s .c o m
    try {
        return person.getChildOf();
    } finally {
        lock.unlock();
    }
}

From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java

public SocialEngagement getEngagement() {
    Lock lock = rwEngagementLock.readLock();
    lock.lock();/*from   w  ww .jav  a2  s .  c o  m*/
    try {
        return socialEngagement;
    } finally {
        lock.unlock();
    }
}

From source file:jp.aegif.nemaki.cmis.service.impl.ObjectServiceImpl.java

@Override
public void updateProperties(CallContext callContext, String repositoryId, Holder<String> objectId,
        Properties properties, Holder<String> changeToken) {

    exceptionService.invalidArgumentRequiredHolderString("objectId", objectId);

    Lock lock = threadLockService.getWriteLock(repositoryId, objectId.getValue());
    try {//  www .j a  v  a2 s .  c  o  m
        lock.lock();

        // //////////////////
        // Exception
        // //////////////////
        Content content = checkExceptionBeforeUpdateProperties(callContext, repositoryId, objectId, properties,
                changeToken);

        // //////////////////
        // Body of the method
        // //////////////////
        contentService.updateProperties(callContext, repositoryId, properties, content);

        nemakiCachePool.get(repositoryId).removeCmisCache(objectId.getValue());
    } finally {
        lock.unlock();
    }
}

From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java

public ICommandType getWaitCommand() {
    Lock lock = rwWaitLock.readLock();
    lock.lock();//from  ww w  . j av  a  2  s  .com
    try {
        return person.getWaitCommand();
    } finally {
        lock.unlock();
    }
}

From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java

public Status getSocialStatus() {
    Lock lock = rwStatusLock.readLock();
    lock.lock();//from w  ww .  j av  a2s .c om
    try {
        return person.getSocialStatus();
    } finally {
        lock.unlock();
    }
}

From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java

public WeddingVows getWeddingVows() {
    Lock lock = rwWeddingLock.readLock();
    lock.lock();//from   ww w .j  a  va2  s  .  c  om
    try {
        return person.getWeddingVows();
    } finally {
        lock.unlock();
    }
}

From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java

public <U extends IMessage> U getWaitData() {
    Lock lock = rwRelationshipLock.readLock();
    lock.lock();// w w w.jav  a  2s  .c o  m
    try {
        return person.getWaitData();
    } finally {
        lock.unlock();
    }
}

From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java

public WaitState getWaitState() {
    Lock lock = rwRelationshipLock.readLock();
    lock.lock();//from  w  w  w .j ava 2 s.  c o m
    try {
        return person.getWaitState();
    } finally {
        lock.unlock();
    }
}

From source file:com.netprogs.minecraft.plugins.social.SocialPerson.java

public void setWeddingVows(WeddingVows weddingVows) {
    Lock lock = rwWeddingLock.writeLock();
    lock.lock();/*from www. j  av  a 2s . c o m*/
    try {
        person.setWeddingVows(weddingVows);
    } finally {
        lock.unlock();
    }
}

From source file:net.myrrix.online.ServerRecommender.java

public void setPreference(long userID, long itemID, float value, boolean bulk) {

    // Record datum
    try {/*from   w w w. j av a 2s .c  o m*/
        generationManager.append(userID, itemID, value, bulk);
    } catch (IOException ioe) {
        log.warn("Could not append datum; continuing", ioe);
    }

    Generation generation;
    try {
        generation = getCurrentGeneration();
    } catch (NotReadyException nre) {
        // Corner case -- no model ready so all we can do is record (above). Don't fail the request.
        return;
    }

    float[] userFeatures = getFeatures(userID, generation.getX(), generation.getXLock());

    boolean newItem;
    Lock yReadLock = generation.getYLock().readLock();
    yReadLock.lock();
    try {
        newItem = generation.getY().get(itemID) == null;
    } finally {
        yReadLock.unlock();
    }
    if (newItem) {
        generation.getCandidateFilter().addItem(itemID);
    }

    float[] itemFeatures = getFeatures(itemID, generation.getY(), generation.getYLock());

    updateFeatures(userFeatures, itemFeatures, value, generation);

    FastByIDMap<FastIDSet> knownItemIDs = generation.getKnownItemIDs();
    if (knownItemIDs != null) {
        FastIDSet userKnownItemIDs;
        ReadWriteLock knownItemLock = generation.getKnownItemLock();
        Lock knownItemReadLock = knownItemLock.readLock();
        knownItemReadLock.lock();
        try {
            userKnownItemIDs = knownItemIDs.get(userID);
            if (userKnownItemIDs == null) {
                userKnownItemIDs = new FastIDSet();
                Lock knownItemWriteLock = knownItemLock.writeLock();
                knownItemReadLock.unlock();
                knownItemWriteLock.lock();
                try {
                    knownItemIDs.put(userID, userKnownItemIDs);
                } finally {
                    knownItemReadLock.lock();
                    knownItemWriteLock.unlock();
                }
            }
        } finally {
            knownItemReadLock.unlock();
        }

        synchronized (userKnownItemIDs) {
            userKnownItemIDs.add(itemID);
        }
    }

    updateClusters(userID, userFeatures, generation.getUserClusters(),
            generation.getUserClustersLock().readLock());
    updateClusters(itemID, itemFeatures, generation.getItemClusters(),
            generation.getItemClustersLock().readLock());
}