forked from kiegroup/kie-wb-common
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DefaultTextPropertyProviderImpl.java
81 lines (68 loc) · 3.34 KB
/
DefaultTextPropertyProviderImpl.java
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*
* Copyright 2017 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.kie.workbench.common.stunner.core.client.canvas.controls.actions;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler;
import org.kie.workbench.common.stunner.core.client.command.CanvasCommand;
import org.kie.workbench.common.stunner.core.client.command.CanvasCommandFactory;
import org.kie.workbench.common.stunner.core.client.command.CanvasCommandManager;
import org.kie.workbench.common.stunner.core.graph.Element;
import org.kie.workbench.common.stunner.core.graph.content.definition.Definition;
import org.kie.workbench.common.stunner.core.util.DefinitionUtils;
@ApplicationScoped
public class DefaultTextPropertyProviderImpl implements TextPropertyProvider {
private DefinitionUtils definitionUtils;
private CanvasCommandFactory<AbstractCanvasHandler> canvasCommandFactory;
public DefaultTextPropertyProviderImpl() {
//CDI proxy
}
@Inject
public DefaultTextPropertyProviderImpl(final DefinitionUtils definitionUtils,
final CanvasCommandFactory<AbstractCanvasHandler> canvasCommandFactory) {
this.definitionUtils = definitionUtils;
this.canvasCommandFactory = canvasCommandFactory;
}
@Override
public int getPriority() {
return TextPropertyProviderFactory.CATCH_ALL_PRIORITY;
}
@Override
public boolean supports(final Element<? extends Definition> element) {
return true;
}
@Override
public String getText(final Element<? extends Definition> element) {
return definitionUtils.getName(element.getContent().getDefinition());
}
@Override
public void setText(final AbstractCanvasHandler canvasHandler,
final CanvasCommandManager<AbstractCanvasHandler> commandManager,
final Element<? extends Definition> element,
final String text) {
final Object def = element.getContent().getDefinition();
final String nameId = definitionUtils.getNameIdentifier(def);
final String oldName = definitionUtils.getName(def);
if (null != nameId) {
final CanvasCommand<AbstractCanvasHandler> command = canvasCommandFactory.updatePropertyValue(element,
nameId,
text,
oldName);
commandManager.execute(canvasHandler,
command);
}
}
}