1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.ui.dialog.registry;
35
36 import info.magnolia.config.registry.AbstractRegistry;
37 import info.magnolia.config.registry.DefinitionMetadata;
38 import info.magnolia.config.registry.DefinitionMetadataBuilder;
39 import info.magnolia.config.registry.DefinitionProvider;
40 import info.magnolia.config.registry.DefinitionType;
41 import info.magnolia.config.registry.decoration.DefinitionDecorator;
42 import info.magnolia.config.registry.validator.DefinitionValidator;
43 import info.magnolia.module.ModuleRegistry;
44 import info.magnolia.objectfactory.Components;
45 import info.magnolia.registry.RegistrationException;
46 import info.magnolia.ui.dialog.definition.DialogDefinition;
47 import info.magnolia.ui.dialog.definition.FormDialogDefinition;
48 import info.magnolia.ui.dialog.formdialog.FormDialogPresenter;
49 import info.magnolia.ui.form.fieldtype.registry.FieldTypeDefinitionRegistry;
50
51 import java.util.Collection;
52 import java.util.Set;
53 import java.util.stream.Collectors;
54
55 import javax.inject.Inject;
56 import javax.inject.Singleton;
57
58
59
60
61
62
63 @Deprecated
64 @Singleton
65 public class DialogDefinitionRegistry extends AbstractRegistry<DialogDefinition> {
66
67 private info.magnolia.ui.dialog.DialogDefinitionRegistry newRegistry;
68
69 @Inject
70 public DialogDefinitionRegistry(ModuleRegistry moduleRegistry, info.magnolia.ui.dialog.DialogDefinitionRegistry newRegistry) {
71 super(moduleRegistry);
72 this.newRegistry = newRegistry;
73 }
74
75
76
77
78 @Deprecated
79 public DialogDefinitionRegistry(ModuleRegistry moduleRegistry, FieldTypeDefinitionRegistry fieldTypeDefinitionRegistry) {
80 this(moduleRegistry, Components.getComponent(info.magnolia.ui.dialog.DialogDefinitionRegistry.class));
81 }
82
83 @Override
84 public DefinitionType type() {
85 return DefinitionTypes.DIALOG;
86 }
87
88 @Override
89 public DefinitionMetadataBuilder newMetadataBuilder() {
90 return DefinitionMetadataBuilder.usingModuleAndRelativePathAsId();
91 }
92
93 @Override
94 public void register(DefinitionProvider provider) {
95 newRegistry.register(provider);
96 }
97
98 @Override
99 public Collection<DefinitionProvider<DialogDefinition>> getAllProviders() {
100 return newRegistry.getAllMetadata().stream()
101 .map(this::getProvider)
102 .filter(provider -> provider.isValid() && provider.get() instanceof FormDialogDefinition)
103 .collect(Collectors.toList());
104 }
105
106 @Override
107 public Collection<DefinitionMetadata> getAllMetadata() {
108 return getAllProviders().stream()
109 .map(DefinitionProvider::getMetadata)
110 .collect(Collectors.toList());
111 }
112
113 @Override
114 public void start() {
115 newRegistry.start();
116 }
117
118 @Override
119 public Set<DefinitionMetadata> unregisterAndRegister(Collection registeredIds, Collection definitionProviders) {
120 return newRegistry.unregisterAndRegister(registeredIds, definitionProviders);
121 }
122
123 @Override
124 public void removeDecorator(DefinitionDecorator definitionDecorator) {
125 newRegistry.removeDecorator(definitionDecorator);
126 }
127
128 @Override
129 public DefinitionProvider<DialogDefinition> getProvider(DefinitionMetadata id) {
130 return (DefinitionProvider) newRegistry.getProvider(id);
131 }
132
133 @Override
134 public DefinitionProvider<DialogDefinition> getProvider(String referenceId) {
135 return (DefinitionProvider) newRegistry.getProvider(referenceId);
136 }
137
138 @Override
139 public void addDecorator(DefinitionDecorator definitionDecorator) {
140 newRegistry.addDecorator(definitionDecorator);
141 }
142
143 @Override
144 public void addValidator(DefinitionValidator validator) {
145 newRegistry.addValidator(validator);
146 }
147
148
149
150
151 @Deprecated
152 public FormDialogDefinition getDialogDefinition(String id) throws RegistrationException {
153 try {
154 DefinitionProvider<DialogDefinition> dialogDefinitionProvider = getProvider(id);
155 DialogDefinition dialogDefinition = dialogDefinitionProvider.get();
156 return (FormDialogDefinition) dialogDefinition;
157 } catch (NoSuchDefinitionException | InvalidDefinitionException e) {
158 throw new RegistrationException(e.getMessage(), e);
159 }
160 }
161
162
163
164
165 @Deprecated
166 public Class<? extends FormDialogPresenter> getPresenterClass(String id) throws RegistrationException {
167 return (Class<? extends FormDialogPresenter>) getProvider(id).get().getPresenterClass();
168 }
169 }