private Set<String> getModelCleanupExpressions() { Set<String> result = new LinkedHashSet<>(); // top-level Model if (model.getProxyType().isAssignableTo(hasCleanupType)) { result.add("getObject()"); //$NON-NLS-1$ } // all Models edited through the top-level Model for (EditorData editorData : model.getEditorData()) { if (editorData.getPropertyOwnerType().isAssignableTo(hasCleanupType)) { result.add(String.format( "getObject()%s", //$NON-NLS-1$ editorData.getBeanOwnerExpression())); } } return result; }
/** * @param accumulator * @param data * @throws UnableToCompleteException */ private void descendIntoSubEditor(List<EditorData> accumulator, EditorData data) throws UnableToCompleteException { EditorModel superModel = parentModel; while (superModel != null) { if (superModel.editorType.isAssignableFrom(data.getEditorType()) || data.getEditorType().isAssignableFrom(superModel.editorType)) { poison(cycleErrorMessage(data.getEditorType(), superModel.getPath(), data.getPath())); return; } superModel = superModel.parentModel; } if (data.isDelegateRequired()) { EditorModel subModel = new EditorModel(this, data.getEditorType(), data, calculateEditedType(logger, data.getEditorType())); accumulator.addAll(accumulator.indexOf(data) + 1, Arrays.asList(subModel.getEditorData())); poisoned |= subModel.poisoned; } }
/** * @param accumulator * @param data * @throws UnableToCompleteException */ private void descendIntoSubEditor(List<EditorData> accumulator, EditorData data) throws UnableToCompleteException { EditorModel superModel = parentModel; while (superModel != null) { if (superModel.editorType.isAssignableFrom(data.getEditorType()) || data.getEditorType().isAssignableFrom(superModel.editorType)) { poison(cycleErrorMessage(data.getEditorType(), superModel.getPath(), data.getPath())); return; } superModel = superModel.parentModel; } if (data.isDelegateRequired()) { EditorModel subModel = new EditorModel(this, data.getEditorType(), data, calculateEditedType(logger, data.getEditorType())); accumulator.addAll(accumulator.indexOf(data) + 1, Arrays.asList(subModel.getEditorData())); poisoned |= subModel.poisoned; } }
for (EditorData editorData : model.getEditorData()) { logger.log(Type.DEBUG, "Going over Field: " + editorData); //$NON-NLS-1$ String path = editorData.getPath();
for (EditorData editorData : model.getEditorData()) { logger.log(Type.DEBUG, "Going over Field: " + editorData); //$NON-NLS-1$
/** * Writes the map of the owner Models */ private void writeOwnerModels() { logger.log(Type.DEBUG, "Starting to write OwnerModels"); //$NON-NLS-1$ sw.println(); sw.println("@Override"); //$NON-NLS-1$ sw.println("protected java.util.Map<String, org.ovirt.engine.ui.uicommonweb.models.Model> getOwnerModels() {"); //$NON-NLS-1$ sw.indent(); sw.println("java.util.Map<String, org.ovirt.engine.ui.uicommonweb.models.Model> regs = new java.util.HashMap<String, org.ovirt.engine.ui.uicommonweb.models.Model>();"); //$NON-NLS-1$ logger.log(Type.DEBUG, "Going over Editor Fields"); //$NON-NLS-1$ for (EditorData editorData : model.getEditorData()) { logger.log(Type.DEBUG, "Going over Field: " + editorData); //$NON-NLS-1$ String path = editorData.getPath(); if (path.length() == 0) { continue; } JClassType propertyOwnerType = eraseType(editorData.getPropertyOwnerType()); if (propertyOwnerType == listModelType || propertyOwnerType == entityModelType) { logger.log(Type.DEBUG, "Found owner Model Field: " + editorData); //$NON-NLS-1$ sw.println("regs.put(\"%s\", getObject()%s);", path, editorData.getBeanOwnerExpression()); //$NON-NLS-1$ } } sw.println("return regs;"); //$NON-NLS-1$ sw.outdent(); sw.println("}"); //$NON-NLS-1$ }
SourceWriter sw = factory.createSourceWriter(context, pw); EditorData[] data = model.getEditorData(editor);
SourceWriter sw = factory.createSourceWriter(context, pw); EditorData[] data = model.getEditorData(editor);