Skip to content

Commit

Permalink
JsonFormatter.allFrom should not expose manager
Browse files Browse the repository at this point in the history
  • Loading branch information
emilforslund committed Jul 16, 2015
1 parent 16080bd commit ec96e2d
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 28 deletions.
24 changes: 0 additions & 24 deletions src/main/java/com/speedment/core/manager/AbstractManager.java
Expand Up @@ -22,7 +22,6 @@
import com.speedment.core.core.Buildable; import com.speedment.core.core.Buildable;
import com.speedment.core.platform.Platform; import com.speedment.core.platform.Platform;
import com.speedment.core.platform.component.ManagerComponent; import com.speedment.core.platform.component.ManagerComponent;
import com.speedment.util.json.JsonFormatter;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
Expand Down Expand Up @@ -110,29 +109,6 @@ public Optional<Object> find(ENTITY entity, Column column) {
}).filter(o -> o.isPresent()).map(i -> i.get()).findAny(); }).filter(o -> o.isPresent()).map(i -> i.get()).findAny();
} }


@Override
@SuppressWarnings("unchecked")
public String toJson(ENTITY entity) {
return JsonFormatter.allFrom(this).apply(entity);
// return "{ " + getTable().streamOf(Column.class).map(c -> {
// final StringBuilder sb = new StringBuilder();
// sb.append("\"").append(JavaLanguage.javaVariableName(c.getName())).append("\" : ");
//
// Object val = get(entity, c);
// if (val == null) {
// sb.append("null");
// } else if (val instanceof Number) {
// sb.append(val.toString());
// } else if (val instanceof Boolean) {
// sb.append(val.toString());
// } else {
// sb.append("\"").append(val.toString()).append("\"");
// }
//
// return sb.toString();
// }).collect(Collectors.joining(", ")) + " }";
}

@Override @Override
public void onInsert(Consumer<ENTITY> listener) { public void onInsert(Consumer<ENTITY> listener) {
insertListeners.add(listener); insertListeners.add(listener);
Expand Down
6 changes: 4 additions & 2 deletions src/main/java/com/speedment/core/manager/Manager.java
Expand Up @@ -72,10 +72,12 @@ public interface Manager<PK, ENTITY, BUILDER extends Buildable<ENTITY>> extends
BUILDER toBuilder(ENTITY entity); BUILDER toBuilder(ENTITY entity);


default JsonFormatter<ENTITY> toJson() { default JsonFormatter<ENTITY> toJson() {
return JsonFormatter.allFrom(this); return JsonFormatter.allFrom(getEntityClass());
} }


String toJson(ENTITY entity); default String toJson(ENTITY entity) {
return toJson().apply(entity);
}


default ENTITY toInternal(ENTITY entity) { default ENTITY toInternal(ENTITY entity) {
return entity; return entity;
Expand Down
13 changes: 11 additions & 2 deletions src/main/java/com/speedment/util/json/JsonFormatter.java
Expand Up @@ -17,6 +17,7 @@
package com.speedment.util.json; package com.speedment.util.json;


import com.speedment.core.config.model.Column; import com.speedment.core.config.model.Column;
import com.speedment.core.config.model.Table;
import com.speedment.core.core.Buildable; import com.speedment.core.core.Buildable;
import com.speedment.core.manager.Manager; import com.speedment.core.manager.Manager;
import com.speedment.core.field.Field; import com.speedment.core.field.Field;
Expand All @@ -27,6 +28,8 @@
import com.speedment.core.field.reference.ReferenceField; import com.speedment.core.field.reference.ReferenceField;
import com.speedment.core.field.reference.ReferenceForeignKeyField; import com.speedment.core.field.reference.ReferenceForeignKeyField;
import com.speedment.core.field.reference.string.StringReferenceForeignKeyField; import com.speedment.core.field.reference.string.StringReferenceForeignKeyField;
import com.speedment.core.platform.Platform;
import com.speedment.core.platform.component.ManagerComponent;
import static com.speedment.util.java.JavaLanguage.javaVariableName; import static com.speedment.util.java.JavaLanguage.javaVariableName;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
Expand Down Expand Up @@ -169,11 +172,17 @@ private static String jsonValue(Object in) {
return value; return value;
} }


public static <PK, ENTITY, BUILDER extends Buildable<ENTITY>, MANAGER extends Manager<PK, ENTITY, BUILDER>> JsonFormatter<ENTITY> allFrom(MANAGER manager) { public static <PK, ENTITY, BUILDER extends Buildable<ENTITY>> JsonFormatter<ENTITY> allFrom(Class<ENTITY> entityType) {


final JsonFormatter<ENTITY> json = new JsonFormatter<>(); final JsonFormatter<ENTITY> json = new JsonFormatter<>();

final Manager<PK, ENTITY, BUILDER> manager = Platform.get()
.get(ManagerComponent.class)
.managerOf(entityType);

final Table table = manager.getTable();


manager.getTable() table
.streamOf(Column.class) .streamOf(Column.class)
.forEachOrdered(c -> { .forEachOrdered(c -> {


Expand Down

0 comments on commit ec96e2d

Please sign in to comment.