@Override public Collection<MPart> getDirtyParts() { List<MPart> dirtyParts = new ArrayList<>(); for (MPart part : getParts()) { if (part.isDirty()) { dirtyParts.add(part); } } return dirtyParts; }
@Execute public void save(MPart part, IEclipseContext context) { if( part.isDirty() ) { ContextInjectionFactory.invoke(part.getObject(), Persist.class,context); } } }
@Inject @Optional void tbrHandler(@UIEventTopic(UIEvents.Dirtyable.TOPIC_DIRTY) Event eventData) { MUIElement changedElement = (MUIElement) eventData.getProperty(UIEvents.EventTags.ELEMENT); if (!isOneOfMyParts(changedElement)) { return; } boolean isDirty = false; List<MPart> kids = getSubParts(); kids.remove(0); for (MPart subPart : kids) { isDirty |= subPart.isDirty(); } myPart.setDirty(isDirty); }
for (Iterator<MPart> it = parts.iterator(); it.hasNext();) { MPart part = it.next(); if (part.isDirty()) { Object object = part.getObject(); if (object instanceof CompatibilityPart) {
@Override public boolean savePart(MPart part, boolean confirm) { if (!part.isDirty()) { return true; } if (saveHandler != null) { return saveHandler.save(part, confirm); } Object client = part.getObject(); try { ContextInjectionFactory.invoke(client, Persist.class, part.getContext()); } catch (InjectionException e) { log("Failed to persist contents of part", "Failed to persist contents of part ({0})", //$NON-NLS-1$ //$NON-NLS-2$ part.getElementId(), e); return false; } catch (RuntimeException e) { log("Failed to persist contents of part via DI", //$NON-NLS-1$ "Failed to persist contents of part ({0}) via DI", part.getElementId(), e); //$NON-NLS-1$ return false; } return true; }
if (currentPart.isDirty()) { Object object = currentPart.getObject(); if (object == null) {
if (saveable1 != null) { part.setDirty(saveable1.isDirty()); } else if (part.isDirty()) {