| 171 | } |
| 172 | |
| 173 | public void setDDFName(DDF ddf, String name) throws DDFException { |
| 174 | Lock lock = uuidLocks.get(ddf.getUUID()); |
| 175 | try { |
| 176 | if(lock.tryLock(120, TimeUnit.SECONDS)) { |
| 177 | try { |
| 178 | if (!Strings.isNullOrEmpty(name)) { |
| 179 | if (!Strings.isNullOrEmpty(ddf.getName())) { |
| 180 | this.mUris.remove(ddf.getUri()); |
| 181 | } |
| 182 | ddf.setName(name); |
| 183 | mDDFCache.invalidate(ddf.getUUID()); |
| 184 | mDDFwithNameCache.put(ddf.getUUID(), ddf); |
| 185 | this.mUris.put(ddf.getUri(), ddf.getUUID()); |
| 186 | } else { |
| 187 | throw new DDFException(String.format("DDF's name cannot be null or empty")); |
| 188 | } |
| 189 | } finally { |
| 190 | lock.unlock(); |
| 191 | } |
| 192 | } else { |
| 193 | throw new DDFException("Timeout setting DDF name"); |
| 194 | } |
| 195 | } catch (Exception e) { |
| 196 | throw new DDFException(e); |
| 197 | } |
| 198 | } |
| 199 | |
| 200 | public synchronized void setDDFUUID(DDF ddf, UUID uuid) throws DDFException { |
| 201 | if (this.containsDDF(uuid)) { |