Search in sources :

Example 6 with Resource

use of com.willshex.blogwt.shared.api.datatype.Resource in project blogwt by billy1380.

the class DeleteResourceRequest method fromJson.

@Override
public void fromJson(JsonObject jsonObject) {
    super.fromJson(jsonObject);
    if (jsonObject.has("resource")) {
        JsonElement jsonResource = jsonObject.get("resource");
        if (jsonResource != null) {
            resource = new Resource();
            resource.fromJson(jsonResource.getAsJsonObject());
        }
    }
}
Also used : JsonElement(com.google.gson.JsonElement) Resource(com.willshex.blogwt.shared.api.datatype.Resource)

Example 7 with Resource

use of com.willshex.blogwt.shared.api.datatype.Resource in project blogwt by billy1380.

the class GetResourceResponse method fromJson.

@Override
public void fromJson(JsonObject jsonObject) {
    super.fromJson(jsonObject);
    if (jsonObject.has("resource")) {
        JsonElement jsonResource = jsonObject.get("resource");
        if (jsonResource != null) {
            resource = new Resource();
            resource.fromJson(jsonResource.getAsJsonObject());
        }
    }
}
Also used : JsonElement(com.google.gson.JsonElement) Resource(com.willshex.blogwt.shared.api.datatype.Resource)

Example 8 with Resource

use of com.willshex.blogwt.shared.api.datatype.Resource in project blogwt by billy1380.

the class UpdateResourceResponse method fromJson.

@Override
public void fromJson(JsonObject jsonObject) {
    super.fromJson(jsonObject);
    if (jsonObject.has("resource")) {
        JsonElement jsonResource = jsonObject.get("resource");
        if (jsonResource != null) {
            resource = new Resource();
            resource.fromJson(jsonResource.getAsJsonObject());
        }
    }
}
Also used : JsonElement(com.google.gson.JsonElement) Resource(com.willshex.blogwt.shared.api.datatype.Resource)

Example 9 with Resource

use of com.willshex.blogwt.shared.api.datatype.Resource in project blogwt by billy1380.

the class DevServlet method doGet.

/* (non-Javadoc)
	 * 
	 * @see com.willshex.service.ContextAwareServlet#doGet() */
@Override
protected void doGet() throws ServletException, IOException {
    super.doGet();
    String action = REQUEST.get().getParameter("action");
    if (action != null) {
        action = action.toLowerCase();
    }
    if ("gentags".equals(action)) {
        TagServiceProvider.provide().generateTags();
    } else if (action != null && action.startsWith("index")) {
        PageServiceProvider.provide();
        PostServiceProvider.provide();
        UserServiceProvider.provide();
        ((ISearch<?>) ServiceDiscovery.getService("blogwt." + action.replace("index", ""))).indexAll();
    } else if ("clearsearch".equals(action)) {
        PersistenceServiceProvider.provide();
        String name = REQUEST.get().getParameter("index");
        String ids = REQUEST.get().getParameter("ids");
        String[] split = ids.split(",");
        for (String id : split) {
            SearchHelper.deleteSearch(name, id);
        }
    } else if ("linkall".equals(action)) {
        PostServiceProvider.provide().linkAll();
    } else if ("clearlinks".equals(action)) {
        PostServiceProvider.provide().clearLinks();
    } else if ("archiveall".equals(action)) {
        ArchiveEntryServiceProvider.provide().generateArchive();
    } else if ("fixroles".equals(action)) {
        Collection<Role> all = RoleHelper.createAll();
        all.stream().forEach(role -> {
            Role loaded = RoleServiceProvider.provide().getCodeRole(role.code);
            if (loaded == null || loaded.id == null) {
                RoleServiceProvider.provide().addRole(role);
            }
            if (role.permissions != null) {
                role.permissions.stream().forEach(i -> {
                    Permission lp = PermissionServiceProvider.provide().getCodePermission(i.code);
                    if (lp == null) {
                        if (LOG.isLoggable(Level.WARNING)) {
                            LOG.warning("Could not find permission with code [" + i.code + "], might want to run [fixpermissions] action");
                        }
                    } else {
                        if (loaded.permissions == null) {
                            loaded.permissions = new ArrayList<>();
                        }
                        loaded.permissions.add(lp);
                    }
                });
                RoleServiceProvider.provide().updateRole(loaded);
            }
        });
    } else if ("fixpermissions".equals(action)) {
        Collection<Permission> all = PermissionHelper.createAll();
        Permission loaded;
        for (Permission permission : all) {
            loaded = PermissionServiceProvider.provide().getCodePermission(permission.code);
            if (loaded == null || loaded.id == null) {
                PermissionServiceProvider.provide().addPermission(permission);
            }
        }
    } else if ("getposts".equals(action)) {
        RESPONSE.get().getOutputStream().print(JsonUtils.beautifyJson((new GetPostsActionHandler()).handle((GetPostsRequest) new GetPostsRequest().showAll(Boolean.TRUE).pager(PagerHelper.createDefaultPager()).accessCode(ApiValidator.DEV_ACCESS_CODE)).toString()));
    } else if ("staticurl".equals(action)) {
        List<Resource> resources = ResourceServiceProvider.provide().getResources(Integer.valueOf(0), Integer.valueOf(Integer.MAX_VALUE), null, null);
        JsonObject object;
        for (Resource resource : resources) {
            if (resource.properties != null) {
                if (resource.properties.contains(":image")) {
                    resource.properties = resource.properties.replace(":image", ":\"image").replace("}", "\"}");
                }
                object = new JsonParser().parse(resource.properties).getAsJsonObject();
            } else {
                object = new JsonObject();
            }
            if (!object.has("staticUrl") || object.get("staticUrl").getAsString().startsWith("http")) {
                try {
                    object.addProperty("staticUrl", ImagesServiceFactory.getImagesService().getServingUrl(ServingUrlOptions.Builder.withBlobKey(new BlobKey(resource.data.replace("gs://", "")))).replaceFirst("https:\\/\\/", "//").replaceFirst("http:\\/\\/", "//"));
                } catch (Throwable e) {
                    if (LOG.isLoggable(Level.FINE)) {
                        LOG.fine("Could not update resource");
                    }
                }
                resource.properties = object.toString();
                ResourceServiceProvider.provide().updateResource(resource);
            }
        }
    } else if ("fixmetanotifications".equals(action)) {
        List<MetaNotification> metas = MetaNotificationHelper.createAll();
        for (MetaNotification meta : metas) {
            if (MetaNotificationServiceProvider.provide().getCodeMetaNotification(meta.code) == null) {
                meta = MetaNotificationServiceProvider.provide().addMetaNotification(meta);
                LOG.info("added meta notification [" + meta.code + "] with id [" + meta.id + "]");
            } else {
                LOG.info("Meta notification [" + meta.code + "] already exists");
            }
        }
    } else if ("admin".equals(action)) {
        User user = UserServiceProvider.provide().getUsernameUser(REQUEST.get().getParameter("user"));
        UserServiceProvider.provide().addUserRolesAndPermissions(user, Arrays.asList(RoleServiceProvider.provide().getCodeRole(RoleHelper.ADMIN)), null);
    } else if ("genandshowdownload".equals(action)) {
        String idParam = REQUEST.get().getParameter("id");
        Long id = Long.valueOf(idParam);
        GeneratedDownload d = GeneratedDownloadServiceProvider.provide().getGeneratedDownload(id);
        Stack stack = Stack.parse(d.parameters);
        Filter filter = Filter.fromStack(stack);
        switch(filter.type) {
            default:
                break;
        }
    }
}
Also used : GetPostsActionHandler(com.willshex.blogwt.server.api.blog.action.GetPostsActionHandler) User(com.willshex.blogwt.shared.api.datatype.User) GetPostsRequest(com.willshex.blogwt.shared.api.blog.call.GetPostsRequest) Resource(com.willshex.blogwt.shared.api.datatype.Resource) JsonObject(com.google.gson.JsonObject) MetaNotification(com.willshex.blogwt.shared.api.datatype.MetaNotification) Stack(com.willshex.blogwt.shared.page.Stack) Role(com.willshex.blogwt.shared.api.datatype.Role) BlobKey(com.google.appengine.api.blobstore.BlobKey) GeneratedDownload(com.willshex.blogwt.shared.api.datatype.GeneratedDownload) Filter(com.willshex.blogwt.shared.page.search.Filter) Permission(com.willshex.blogwt.shared.api.datatype.Permission) Collection(java.util.Collection) ArrayList(java.util.ArrayList) List(java.util.List) JsonParser(com.google.gson.JsonParser)

Example 10 with Resource

use of com.willshex.blogwt.shared.api.datatype.Resource in project blogwt by billy1380.

the class EditPostPage method finishedImageUpload.

private void finishedImageUpload(IUploader uploader) {
    if (uploader.getStatus() == Status.SUCCESS) {
        String msg = uploader.getServerMessage().getMessage();
        if (msg != null && msg.startsWith("data:")) {
            // NOTE: this does not happen
            new PreloadedImage(msg, PRELOAD_HANDLER);
        } else {
            Resource resource = new Resource();
            resource.type = ResourceTypeType.ResourceTypeTypeBlobStoreImage;
            for (String url : uploader.getServerMessage().getUploadedFileUrls()) {
                resource.data = url.replace(ApiHelper.BASE_URL, "/");
                break;
            }
            for (String name : uploader.getServerMessage().getUploadedFileNames()) {
                resource.name = name;
                break;
            }
            ensureResources().put(resource.name, resource);
            uploader.getStatusWidget().setVisible(false);
            new PreloadedImage(resource.data, PRELOAD_HANDLER);
        }
    } else {
    // Failed :(
    }
}
Also used : PreloadedImage(gwtupload.client.PreloadedImage) Resource(com.willshex.blogwt.shared.api.datatype.Resource)

Aggregations

Resource (com.willshex.blogwt.shared.api.datatype.Resource)14 JsonElement (com.google.gson.JsonElement)6 PreloadedImage (gwtupload.client.PreloadedImage)3 JsonObject (com.google.gson.JsonObject)2 BlobKey (com.google.appengine.api.blobstore.BlobKey)1 JsonParser (com.google.gson.JsonParser)1 GWT (com.google.gwt.core.client.GWT)1 Element (com.google.gwt.dom.client.Element)1 ClickEvent (com.google.gwt.event.dom.client.ClickEvent)1 UiBinder (com.google.gwt.uibinder.client.UiBinder)1 UiField (com.google.gwt.uibinder.client.UiField)1 UiHandler (com.google.gwt.uibinder.client.UiHandler)1 Button (com.google.gwt.user.client.ui.Button)1 FormPanel (com.google.gwt.user.client.ui.FormPanel)1 HTMLPanel (com.google.gwt.user.client.ui.HTMLPanel)1 Image (com.google.gwt.user.client.ui.Image)1 TextArea (com.google.gwt.user.client.ui.TextArea)1 TextBox (com.google.gwt.user.client.ui.TextBox)1 Widget (com.google.gwt.user.client.ui.Widget)1 DefaultEventBus (com.willshex.blogwt.client.DefaultEventBus)1