@@ -96,81 +96,68 @@ public function formatQueryResult(QueryResultInterface $result, OutputInterface
96
96
}
97
97
}
98
98
99
- public function normalizeValue ( $ value )
99
+ public function formatValue ( PropertyInterface $ property , $ showBinary = false )
100
100
{
101
- if (is_array ($ value )) {
102
- if (empty ($ value )) {
103
- return '' ;
104
- }
105
- $ array = $ value ;
106
- $ values = array ();
107
-
108
- foreach ($ array as $ i => $ value ) {
109
- if ($ value instanceof NodeInterface) {
110
- $ uuid = $ value ->getIdentifier ();
111
- $ value = $ value ->getPath ();
112
- if ($ uuid ) {
113
- $ value .= ' ( ' . $ uuid . ') ' ;
114
- }
115
- } elseif (is_object ($ value )) {
116
- $ value = '<UNKNOWN OBJECT> ' ;
117
- } else {
118
- $ value = $ value ;
119
- }
120
- $ value = '[ ' . $ i . '] ' . $ this ->textHelper ->truncate ($ value , 255 );
121
- $ values [] = $ value ;
122
- }
123
-
124
- return implode ("\n" , $ values );
101
+ $ values = $ property ->getValue ();
102
+ if (false === $ property ->isMultiple ()) {
103
+ $ values = array ($ values );
125
104
}
105
+ $ return = array ();
106
+
107
+ foreach ($ values as $ value ) {
108
+ switch (intval ($ property ->getType ())) {
109
+ case PropertyType::UNDEFINED :
110
+ $ return [] = '#UNDEFINED# ' ;
111
+ case PropertyType::BINARY :
112
+ if ($ showBinary ) {
113
+ $ lines = array ();
114
+ $ pointer = $ value ;
115
+ while (($ line = fgets ($ pointer )) !== false ) {
116
+ $ lines [] = $ line ;
117
+ }
118
+
119
+ $ return [] = implode ('' , $ lines );
120
+ }
126
121
127
- if ($ value instanceof \DateTime) {
128
- return $ value ->format ('c ' );
122
+ return '(binary data) ' ;
123
+ case PropertyType::BOOLEAN :
124
+ $ return [] = $ value ? 'true ' : 'false ' ;
125
+ break ;
126
+ case PropertyType::DATE :
127
+ $ return [] = $ value ->format ('c ' );
128
+ break ;
129
+ case PropertyType::REFERENCE :
130
+ case PropertyType::WEAKREFERENCE :
131
+ $ return [] = sprintf (
132
+ '%s (%s) ' ,
133
+ $ this ->textHelper ->truncate ($ value ->getPath (), 255 ),
134
+ $ value ->getIdentifier ()
135
+ );
136
+ break ;
137
+ case PropertyType::URI :
138
+ case PropertyType::STRING :
139
+ $ return [] = $ this ->textHelper ->truncate ($ value );
140
+ break ;
141
+ case PropertyType::NAME :
142
+ case PropertyType::LONG :
143
+ case PropertyType::DOUBLE :
144
+ case PropertyType::DECIMAL :
145
+ case PropertyType::PATH :
146
+ $ return [] = $ value ;
147
+ break ;
148
+ default :
149
+ throw new \RuntimeException ('Unknown type ' . $ property ->getType ());
150
+ }
129
151
}
130
152
131
- return $ this ->textHelper ->truncate ($ value );
132
- }
133
-
134
- public function formatValue (PropertyInterface $ value , $ showBinary = false )
135
- {
136
- if (is_array ($ value ->getValue ())) {
137
- return $ this ->normalizeValue ($ value ->getValue ());
153
+ if ($ property ->isMultiple ()) {
154
+ return implode ("\n" , array_map (function ($ value ) {
155
+ static $ index = 0 ;
156
+ return sprintf ('<comment>[%d]</comment> %s ' , $ index ++, $ value );
157
+ }, $ return ));
138
158
}
139
159
140
- switch (intval ($ value ->getType ())) {
141
- case PropertyType::UNDEFINED :
142
- return '#UNDEFINED# ' ;
143
- case PropertyType::BINARY :
144
- if ($ showBinary ) {
145
- $ lines = array ();
146
- $ pointer = $ value ->getValue ();
147
- while (($ line = fgets ($ pointer )) !== false ) {
148
- $ lines [] = $ line ;
149
- }
150
-
151
- return implode ('' , $ lines );
152
- }
153
-
154
- return '(binary data) ' ;
155
- case PropertyType::BOOLEAN :
156
- return $ value ->getValue () ? 'true ' : 'false ' ;
157
- case PropertyType::DATE :
158
- return $ value ->getValue ()->format ('c ' );
159
- case PropertyType::REFERENCE :
160
- case PropertyType::WEAKREFERENCE :
161
- return $ value ->getValue ()->getIdentifier ();
162
- case PropertyType::URI :
163
- case PropertyType::STRING :
164
- return $ this ->textHelper ->truncate ($ value ->getValue ());
165
- case PropertyType::NAME :
166
- case PropertyType::LONG :
167
- case PropertyType::DOUBLE :
168
- case PropertyType::DECIMAL :
169
- case PropertyType::PATH :
170
- return $ value ->getValue ();
171
- default :
172
- throw new \RuntimeException ('Unknown type ' . $ value ->getType ());
173
- }
160
+ return implode ("\n" , $ return );
174
161
}
175
162
176
163
public function formatNodePropertiesInline (NodeInterface $ node )
0 commit comments