@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { String project = cacheKey; if (event == Event.DROP) { removeProjectLocal(project); return; } reloadProjectQuietly(project); broadcaster.notifyProjectSchemaUpdate(project); broadcaster.notifyProjectDataUpdate(project); } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { try (AutoLock lock = srcTableMapLock.lockForWrite()) { if (event == Event.DROP) srcTableMap.removeLocal(cacheKey); else srcTableCrud.reloadQuietly(cacheKey); } Pair<String, String> pair = TableDesc.parseResourcePath(cacheKey); String table = pair.getFirst(); String prj = pair.getSecond(); if (prj == null) { for (ProjectInstance p : ProjectManager.getInstance(config).findProjectsByTable(table)) { broadcaster.notifyProjectSchemaUpdate(p.getName()); } } else { broadcaster.notifyProjectSchemaUpdate(prj); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { try (AutoLock lock = modelMapLock.lockForWrite()) { if (event == Event.DROP) dataModelDescMap.removeLocal(cacheKey); else crud.reloadQuietly(cacheKey); } for (ProjectInstance prj : ProjectManager.getInstance(config).findProjectsByModel(cacheKey)) { broadcaster.notifyProjectSchemaUpdate(prj.getName()); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { if ("hybrid".equals(entity)) { String hybridName = cacheKey; try (AutoLock l = lock.lockForWrite()) { if (event == Event.DROP) hybridMap.removeLocal(hybridName); else crud.reloadQuietly(hybridName); } for (ProjectInstance prj : ProjectManager.getInstance(config).findProjects(RealizationType.HYBRID, hybridName)) { broadcaster.notifyProjectSchemaUpdate(prj.getName()); } } else if ("cube".equals(entity)) { String cubeName = cacheKey; try (AutoLock l = lock.lockForWrite()) { for (HybridInstance hybrid : getHybridInstancesByChild(RealizationType.CUBE, cubeName)) { crud.reloadQuietly(hybrid.getName()); } } } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { String cubeDescName = cacheKey; CubeDesc cubeDesc = getCubeDesc(cubeDescName); String modelName = cubeDesc == null ? null : cubeDesc.getModelName(); if (event == Event.DROP) removeLocalCubeDesc(cubeDescName); else reloadCubeDescQuietly(cubeDescName); for (ProjectInstance prj : ProjectManager.getInstance(config).findProjectsByModel(modelName)) { broadcaster.notifyProjectSchemaUpdate(prj.getName()); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { String project = cacheKey; if (event == Event.DROP) { removeProjectLocal(project); return; } reloadProjectQuietly(project); broadcaster.notifyProjectSchemaUpdate(project); broadcaster.notifyProjectDataUpdate(project); } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { try (AutoLock lock = srcTableMapLock.lockForWrite()) { if (event == Event.DROP) srcTableMap.removeLocal(cacheKey); else srcTableCrud.reloadQuietly(cacheKey); } Pair<String, String> pair = TableDesc.parseResourcePath(cacheKey); String table = pair.getFirst(); String prj = pair.getSecond(); if (prj == null) { for (ProjectInstance p : ProjectManager.getInstance(config).findProjectsByTable(table)) { broadcaster.notifyProjectSchemaUpdate(p.getName()); } } else { broadcaster.notifyProjectSchemaUpdate(prj); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { try (AutoLock lock = modelMapLock.lockForWrite()) { if (event == Event.DROP) dataModelDescMap.removeLocal(cacheKey); else crud.reloadQuietly(cacheKey); } for (ProjectInstance prj : ProjectManager.getInstance(config).findProjectsByModel(cacheKey)) { broadcaster.notifyProjectSchemaUpdate(prj.getName()); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { String cubeDescName = cacheKey; CubeDesc cubeDesc = getCubeDesc(cubeDescName); String modelName = cubeDesc == null ? null : cubeDesc.getModelName(); if (event == Event.DROP) removeLocalCubeDesc(cubeDescName); else reloadCubeDescQuietly(cubeDescName); for (ProjectInstance prj : ProjectManager.getInstance(config).findProjectsByModel(modelName)) { broadcaster.notifyProjectSchemaUpdate(prj.getName()); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { if ("hybrid".equals(entity)) { String hybridName = cacheKey; try (AutoLock l = lock.lockForWrite()) { if (event == Event.DROP) hybridMap.removeLocal(hybridName); else crud.reloadQuietly(hybridName); } for (ProjectInstance prj : ProjectManager.getInstance(config).findProjects(RealizationType.HYBRID, hybridName)) { broadcaster.notifyProjectSchemaUpdate(prj.getName()); } } else if ("cube".equals(entity)) { String cubeName = cacheKey; try (AutoLock l = lock.lockForWrite()) { for (HybridInstance hybrid : getHybridInstancesByChild(RealizationType.CUBE, cubeName)) { crud.reloadQuietly(hybrid.getName()); } } } } }