Some unordered findings from my ongoing attempt to migrate a CUBA project:
- EntityPolicyContainer and EntityAttributePolicyContainer annotations will not be migrated
-
@MetaProperty(related = ["code", "name"])
is converted to the following broken code:
@DependsOnProperties(value = ["code", "name"])
@JmixProperty
@DependsOnProperties({ "code", "name" })
- StandardTenantEntity is not available anymore. A lot of my entities subclassed this class.
- no replacements for AccessGroupsService, PasswordEncryption, RolesService, ReportService (the API changed for some of them - I get that)
- created
User
entity has no tenant attribute. Multitenancy obviously is not migrated automatically. I found the guide at https://github.com/Haulmont/jmix-multitenancy#readme - no replacement for
user.changePasswordAtNextLogon
- TenantProvider is not automatically migrated
- no replacement for
dialogs.createOptionDialog(Dialogs.MessageType.WARNING)
- migration seems to discard all imports to entities in the service beans, or maybe it is a problem with the following:
- wildcard imports like
import java.time.Month.*
seem to be discarded - a lot of classes are not migrated to the new jmix namespace e.g.
import com.haulmont.cuba.gui.app.core.inputdialog.DialogActions
- that’s particularly annoying, because you have to remove those broken imports. Global search and replace helps in some cases though. But for so many classes and imports it still is a tedious work. - I couldn’t inject
io.jmix.ui.download.Downloader
via the UI - What is the counterpart for
FileDescriptorResource
?
I’m now a few hours into migration of the project. From around 2000 compile errors to 400. But I guess the real fun will begin, when I first try to start the application.
Btw: when I write “no replacement” that could also mean I didn’t find one until now.