(LoadContext context, CDOMObject obj)
| 152 | } |
| 153 | |
| 154 | @Override |
| 155 | public String[] unparse(LoadContext context, CDOMObject obj) |
| 156 | { |
| 157 | Changes<ChangeProf> changes = context.getObjectContext().getListChanges(obj, ListKey.CHANGEPROF); |
| 158 | Collection<ChangeProf> added = changes.getAdded(); |
| 159 | if (added == null || added.isEmpty()) |
| 160 | { |
| 161 | // Zero indicates no Token |
| 162 | return null; |
| 163 | } |
| 164 | HashMapToList<CDOMGroupRef<WeaponProf>, CDOMReference<WeaponProf>> m = new HashMapToList<>(); |
| 165 | for (ChangeProf cp : added) |
| 166 | { |
| 167 | CDOMReference<WeaponProf> source = cp.getSource(); |
| 168 | CDOMGroupRef<WeaponProf> result = cp.getResult(); |
| 169 | m.addToListFor(result, source); |
| 170 | } |
| 171 | |
| 172 | SortedSet<CDOMReference<WeaponProf>> set = new TreeSet<>(ReferenceUtilities.REFERENCE_SORTER); |
| 173 | Set<String> returnSet = new TreeSet<>(); |
| 174 | for (CDOMGroupRef<WeaponProf> result : m.getKeySet()) |
| 175 | { |
| 176 | StringBuilder sb = new StringBuilder(); |
| 177 | boolean needComma = false; |
| 178 | set.clear(); |
| 179 | set.addAll(m.getListFor(result)); |
| 180 | for (CDOMReference<WeaponProf> source : set) |
| 181 | { |
| 182 | if (needComma) |
| 183 | { |
| 184 | sb.append(Constants.COMMA); |
| 185 | } |
| 186 | needComma = true; |
| 187 | String sourceLst = source.getLSTformat(false); |
| 188 | if (sourceLst.startsWith(Constants.LST_TYPE_EQUAL)) |
| 189 | { |
| 190 | sb.append(Constants.LST_TYPE_DOT); |
| 191 | sb.append(sourceLst.substring(5)); |
| 192 | } |
| 193 | else |
| 194 | { |
| 195 | sb.append(sourceLst); |
| 196 | } |
| 197 | } |
| 198 | sb.append(Constants.EQUALS).append(result.getLSTformat(false).substring(5)); |
| 199 | returnSet.add(sb.toString()); |
| 200 | } |
| 201 | return new String[]{StringUtil.join(returnSet, Constants.PIPE)}; |
| 202 | } |
| 203 | |
| 204 | @Override |
| 205 | public Class<CDOMObject> getTokenClass() |
nothing calls this directly
no test coverage detected