Professional Documents
Culture Documents
servlet;
import com.placester.notification.api.client.NotificationClient;
import com.placester.sites.api.servlet.util.GoogleMapsUtil;
import com.placester.sites.data.store.db.DomainMappingDB;
import com.placester.sites.data.store.db.OptionDB;
import com.placester.sites.data.store.db.PLSiteDBUtil;
import com.placester.sites.data.store.db.WordPressDBFactory;
import com.placester.sites.data.store.db.dao.APIKey;
import com.placester.sites.data.store.db.dao.DaoUtil;
import com.placester.sites.server.ErrorCode;
import com.placester.sites.server.ErrorCode.StatusCode;
import com.placester.sites.server.SitesConfig;
import com.placester.wordpress.dao.DomainMapping;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.UUID;
@Override
public String getPath() {
return PATH;
}
if (blog_id == 0) {
if (siteid != null) {
List<com.placester.plsite.dao.Site> list =
plSiteDBUtil.get(REF, new String[]{siteid});
if (list != null && !list.isEmpty()) {
s = list.get(0);
try {
blog_id = s.external_site_id != null ?
Integer.parseInt(s.external_site_id) : 0;
} catch (Exception e) {
}
}
}
}else {
List<com.placester.plsite.dao.Site> list =
plSiteDBUtil.getSites(new String[]{String.valueOf(blog_id)},
com.placester.plsite.dao.Site.EXTERNAL_SITE_ID, -1,
-1, -1);
if (siteid != null)
payload.put(com.placester.plsite.dao.Site.SITEID, siteid);
}else{
sendError(res, ErrorCode.PARAM_MISSING);
return;
}
sendOkResponse(res, payload);
}
@Override
protected void create(HttpServletRequest req, HttpServletResponse res, APIKey
creds) throws Exception {
// Parse request body...
JSONObject reqBody = parseRequestBody(req);
com.placester.plsite.dao.Site s = null;
String id = reqBody.optString(com.placester.plsite.dao.Site.SITEID,
null);
if (blog_id == 0) {
if (id != null) {
List<com.placester.plsite.dao.Site> list =
plSiteDBUtil.get(REF, new String[]{id});
}else{
List<com.placester.plsite.dao.Site> list = plSiteDBUtil.getSites(
new String[]{String.valueOf(blog_id)},
com.placester.plsite.dao.Site.EXTERNAL_SITE_ID, -1,
-1, -1);
siteExistsForDomain =
plSiteDBUtil.sitesExistForDomain(ServletUtil.getPLSiteDB(config), domain,
((SitesConfig) (this.config)).is_staging);
if (s != null) {
com.placester.plsite.dao.DomainMapping d = new
com.placester.plsite.dao.DomainMapping();
d.id = UUID.randomUUID().toString();
d.site_id = s.id;
d.domain = domain;
d.primary = mapping.isActive();
d.setCreatedUpdated();
plSiteDBUtil.create(d);
}
}else {
if(siteExistsForDomain) {
sendError(res, ErrorCode.ALREADY_EXISTS);
return;
}
else {
sendError(res, ErrorCode.PARAM_MISSING);
return;
}
@Override
protected void update(HttpServletRequest req, HttpServletResponse res, APIKey
creds) throws Exception {
// Parse request body...
JSONObject reqBody = parseRequestBody(req);
if (blog_id == 0) {
if (id != null) {
List<com.placester.plsite.dao.Site> list =
plSiteDBUtil.get(REF, new String[]{id});
if (list != null && !list.isEmpty()) {
s = list.get(0);
try {
blog_id = s.external_site_id != null ?
Integer.parseInt(s.external_site_id) : 0;
} catch (Exception e) {}
}
}
}else {
List<com.placester.plsite.dao.Site> list =
plSiteDBUtil.getSites(new String[]{String.valueOf(blog_id)},
com.placester.plsite.dao.Site.EXTERNAL_SITE_ID, -1, -1,
-1);
siteExistsForDomain =
plSiteDBUtil.sitesExistForDomain(ServletUtil.getPLSiteDB(config), domain,
((SitesConfig) (this.config)).is_staging);
}else{
if(siteExistsForDomain) {
sendError(res, ErrorCode.ALREADY_EXISTS);
return;
}
else {
sendError(res, ErrorCode.PARAM_MISSING);
return;
}
}
if (blog_id == 0){
if (siteid != null) {
List<com.placester.plsite.dao.Site> list =
plSiteDBUtil.get(REF, new String[]{siteid});
if (list != null && !list.isEmpty()) {
s = list.get(0);
try {
blog_id = s.external_site_id != null ?
Integer.parseInt(s.external_site_id) : 0;
} catch (Exception e) {}
reqBody.put(DomainMapping.BLOG_ID, blog_id);
}
}else{
List<com.placester.plsite.dao.Site> list =
plSiteDBUtil.getSites(new String[]{String.valueOf(blog_id)},
com.placester.plsite.dao.Site.EXTERNAL_SITE_ID, -1,
-1, -1);
}else{
sendError(res, ErrorCode.PARAM_MISSING);
return;
}