/** * Use com.haulmont.cuba.core.global.MetadataTools#copy instead */ @Deprecated public static Instance copy(Instance source) { return AppBeans.get(MetadataTools.NAME, MetadataTools.class).copy(source); }
/** * Use com.haulmont.cuba.core.global.MetadataTools#copy instead */ @Deprecated public static void copy(Instance source, Instance dest) { AppBeans.get(MetadataTools.NAME, MetadataTools.class).copy(source, dest); }
/** * Create a new instance and make it a shallow copy of the instance given. <br> This method copies attributes * according to the metadata and relies on {@link com.haulmont.chile.core.model.Instance#getMetaClass()} method * which should not return null. * * @param source source instance * @return new instance of the same Java class as source */ public <T extends Instance> T copy(T source) { checkNotNullArgument(source, "source is null"); //noinspection unchecked T dest = createInstance((Class<T>) source.getClass()); copy(source, dest); return dest; }
protected SendingMessage createClone(SendingMessage srcMessage) { SendingMessage clonedMessage = metadata.getTools().copy(srcMessage); List<SendingAttachment> clonedList = new ArrayList<>(); for (SendingAttachment srcAttach : srcMessage.getAttachments()) { SendingAttachment clonedAttach = metadata.getTools().copy(srcAttach); clonedAttach.setMessage(null); clonedAttach.setMessage(clonedMessage); clonedList.add(clonedAttach); } clonedMessage.setAttachments(clonedList); return clonedMessage; }
@Override public boolean commit() { if (super.commit()) { metadata.getTools().copy(getItem(), parameter); return true; } return false; }
/** * Defensive copy */ protected Report getReportForPrinting(Report report) { Report copy = metadata.getTools().copy(report); copy.setIsTmp(report.getIsTmp()); return copy; }
@Override public void updateItem(T item) { checkNotNullArgument(item, "item is null"); backgroundWorker.checkUIAccess(); Collection<T> collection = getCollection(); if (collection != null) { // this method must not change the "modified" state by contract boolean saveModified = modified; for (T t : collection) { if (t.equals(item)) { metadata.getTools().copy(item, t); } } modified = saveModified; fireCollectionChanged(Operation.UPDATE, Collections.singletonList(item)); } }
@Override public void actionPerform(Component component) { ReportTemplate template = (ReportTemplate) target.getSingleSelected(); if (template != null) { ReportTemplate copy = metadata.getTools().copy(template); copy.setId(uuidSource.createUuid()); String copyNamingPattern = getMessage("template.copyNamingPattern"); String copyCode = String.format(copyNamingPattern, StringUtils.isEmpty(copy.getCode()) ? StringUtils.EMPTY : copy.getCode()); //noinspection unchecked List<String> codes = (List<String>) target.getDatasource().getItems().stream() .map(o -> ((ReportTemplate) o).getCode()) .filter(o -> !StringUtils.isEmpty((String) o)) .collect(Collectors.toList()); if (codes.contains(copyCode)) { String code = copyCode; int i = 0; while ((codes.contains(code))) { i += 1; code = copyCode + " " + i; } copyCode = code; } copy.setCode(copyCode); //noinspection unchecked target.getDatasource().addItem(copy); } }
@Override public void setItem(T item) { if (getItem() != null) { metadata.getTools().copy(item, getItem()); itemsToUpdate.add(item); } else { final Instance parentItem = masterDs.getItem(); parentItem.setValue(metaProperty.getName(), item); } setModified(true); }
protected void runTask(ScheduledTask task, final long now, final boolean manually, final @Nullable UserSession userSession) { final ScheduledTask taskCopy = metadata.getTools().copy(task);
@Override public void setItem(Entity item) { Entity newItem = valuesFormatsDs.getDataSupplier().newInstance(valuesFormatsDs.getMetaClass()); metadata.getTools().copy(item, newItem); ((ReportValueFormat) newItem).setId((UUID) item.getId()); super.setItem(newItem); } }
@Override public void setItem(T item) { backgroundWorker.checkUIAccess(); if (getItem() != null) { metadata.getTools().copy(item, getItem()); itemsToUpdate.add(item); } else { final Instance parentItem = masterDs.getItem(); parentItem.setValue(metaProperty.getName(), item); } setModified(true); ((DatasourceImplementation) masterDs).modified(masterDs.getItem()); }
log.warn("PK of entity referenced by {} is a EmbeddableEntity, but related property {} is not", property, relatedProperty); } else { entity.setValue(relatedPropertyName, metadataTools.copy((Entity) refEntityId));
@Override public void modifyItem(T item) { checkNotNullArgument(item, "item is null"); if (data.containsKey(item.getId())) { if (PersistenceHelper.isNew(item)) { Object existingItem = data.get(item.getId()); metadata.getTools().copy(item, (Instance) existingItem); modified((T) existingItem); } else { updateItem(item); modified(item); } } }
@Override public void setItem(Entity item) { ReportInputParameter newParameter = (ReportInputParameter) metadata.create(parameterDs.getMetaClass()); metadata.getTools().copy(item, newParameter); newParameter.setId((UUID) item.getId()); if (newParameter.getParameterClass() == null) { newParameter.setParameterClass(parameterClassResolver.resolveClass(newParameter)); } super.setItem(newParameter); enableControlsByParamType(newParameter.getType()); initScreensLookup(); initTransformations(); }
String filterName = window.getFilterName(); FilterEntity newFilterEntity = metadata.create(FilterEntity.class); metadata.getTools().copy(filterEntity, newFilterEntity); newFilterEntity.setCode(null); newFilterEntity.setId(UuidProvider.createUuid());
displayedDefaultValueField.setFormatter(defaultValueFormatter); appPropertyDs.setItem(metadata.getTools().copy(item));
} else if (layout instanceof WidgetTemplateLayout) { WidgetLayout widgetLayout = metadata.create(WidgetLayout.class); Widget widget = metadataTools.copy(((WidgetTemplateLayout) layout).getWidget()); widget.setId(UUID.randomUUID()); widget.setDashboard(((WidgetLayout) layout).getWidget().getDashboard());
Entity newItem = ds.getDataSupplier().newInstance(ds.getMetaClass()); MetadataTools metadataTools = getBeanLocator().get(MetadataTools.NAME); metadataTools.copy(item, newItem); item = newItem;