本文整理汇总了Java中com.google.appengine.api.datastore.ShortBlob类的典型用法代码示例。如果您正苦于以下问题:Java ShortBlob类的具体用法?Java ShortBlob怎么用?Java ShortBlob使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ShortBlob类属于com.google.appengine.api.datastore包,在下文中一共展示了ShortBlob类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: logUpdateRun
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
public void logUpdateRun(int majorVersion, int minorVersion, String filename, byte[] hash,
JsonObject data, boolean forced) {
Entity updateRun = new Entity(UPDATERUN_ENTITY_KIND);
updateRun.setProperty("date", new Date());
updateRun.setProperty("hash", new ShortBlob(hash));
updateRun.setProperty("forced", forced);
updateRun.setProperty("majorVersion", majorVersion);
updateRun.setProperty("minorVersion", minorVersion);
for (Entry<String, Long> performanceItem: timers.entrySet()) {
updateRun.setProperty("time_"+performanceItem.getKey(), performanceItem.getValue());
}
updateRun.setProperty("filename", filename);
StringBuilder sb = new StringBuilder();
for (Entry<String, JsonElement> el: data.entrySet()) {
if (el.getValue().isJsonArray()) {
sb.append(el.getKey()).append("=").append(el.getValue().getAsJsonArray().size()).append(" ");
}
}
if (sb.length()>0) {
// remove trailing space
sb.deleteCharAt(sb.length()-1);
}
updateRun.setProperty("summary", sb.toString());
datastore.put(updateRun);
timers.clear();
}
示例2: addData
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Before
public void addData() throws InterruptedException {
Query query = new Query(kindName, rootKey);
if (service.prepare(query).countEntities(fetchOption) == 0) {
List<Entity> elist = new ArrayList<Entity>();
for (int i = 0; i < count; i++) {
Entity newRec = new Entity(kindName, rootKey);
newRec.setProperty("stringData", "string test data " + i);
newRec.setProperty("intData", 10 * i);
newRec.setProperty("stringList", Arrays.asList("abc" + i, "xyz" + i, "abc" + i));
newRec.setProperty("intList", Arrays.asList(i, 50 + i, 90 + i));
newRec.setProperty("timestamp", new Date());
newRec.setProperty("floatData", new Float(i + 0.1));
newRec.setProperty("ratingData", new Rating(i + 20));
newRec.setProperty("booleanData", true);
newRec.setProperty("geoptData", new GeoPt((float) (i * 20 - 90), new Float(i * 30 - 179.1)));
newRec.setProperty("byteStrProp", new ShortBlob(("shortblob" + (i * 30)).getBytes()));
elist.add(newRec);
}
service.put(elist);
sync(waitTime);
}
}
示例3: testSize
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Test
public void testSize() {
String kind = kindName + "-size";
int recordSize = (1000 * 1000); // Max. 1000000.
byte[] filledRec = new byte[recordSize];
Arrays.fill(filledRec, (byte) 0x41);
Blob bigBlob = new Blob(filledRec);
assertEquals(recordSize, bigBlob.getBytes().length);
Entity eBlob = new Entity(kind, rootKey);
eBlob.setProperty("blobProp", bigBlob);
service.put(eBlob);
recordSize = 500 ; // Max. 500.
filledRec = new byte[recordSize];
Arrays.fill(filledRec, (byte) 0x41);
ShortBlob shortBlob = new ShortBlob(filledRec);
assertEquals(recordSize, shortBlob.getBytes().length);
Entity eShortBlob = new Entity(kind, rootKey);
eShortBlob.setProperty("byteStrProp", shortBlob);
service.put(eShortBlob);
service.delete(eBlob.getKey(), eShortBlob.getKey());
}
示例4: isUpToDate
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
private boolean isUpToDate(byte[] newHash, UpdateRunLogger logger) {
Entity lastUpdate = logger.getLastRun();
byte[] currentHash = null;
if (lastUpdate != null) {
ShortBlob hash = (ShortBlob) lastUpdate.getProperty("hash");
if (hash != null) {
currentHash = hash.getBytes();
}
}
return Arrays.equals(currentHash, newHash);
}
示例5: createData
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Before
public void createData() throws InterruptedException {
Entity newRec;
String[] stringDat = {"abc", "xyz", "mno"};
PhoneNumber[] phoneDat = {new PhoneNumber("408-123-4567"), new PhoneNumber("650-321-7654"),
new PhoneNumber("408-987-6543")};
PostalAddress[] addressDat = {new PostalAddress("123 Google Rd. CA 12345"),
new PostalAddress("19451 Via Monte Rd. CA95070"), new PostalAddress("9 1st St. CA 95000")};
Email[] emailDat = {new Email("[email protected]"), new Email("[email protected]"),
new Email("[email protected]")};
Link[] linkDat = {new Link("http://www.hotmail.com"), new Link("http://www.google.com.com"),
new Link("http://www.gmail.com")};
Category[] categoryDat = {new Category("developer"), new Category("test"),
new Category("manager")};
Text[] textDat = {new Text("english"), new Text("chinese"), new Text("japanese")};
ShortBlob[] byteString = {new ShortBlob("shortblob".getBytes()),
new ShortBlob("shortText".getBytes()), new ShortBlob("shortImage".getBytes())};
Blob[] blobDat = {new Blob("blobImage".getBytes()), new Blob("blobText".getBytes()),
new Blob("blobData".getBytes())};
clearData(kindName);
List<Entity> elist = new ArrayList<Entity>();
for (int i = 0; i < 3; i++) {
newRec = new Entity(kindName, rootKey);
newRec.setProperty("stringProp", stringDat[i]);
newRec.setProperty("phoneProp", phoneDat[i]);
newRec.setProperty("addressProp", addressDat[i]);
newRec.setProperty("emailProp", emailDat[i]);
newRec.setProperty("linkProp", linkDat[i]);
newRec.setProperty("categoryProp", categoryDat[i]);
newRec.setProperty("textProp", textDat[i]);
newRec.setProperty("byteStrProp", byteString[i]);
newRec.setProperty("blobProp", blobDat[i]);
elist.add(newRec);
}
service.put(elist);
sync(waitTime);
}
示例6: testFilter
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Test
public void testFilter() {
doAllFilters(kindName, "stringProp", "mno");
doEqOnlyFilter(kindName, "phoneProp", new PhoneNumber("650-321-7654"));
doEqOnlyFilter(kindName, "addressProp", new PostalAddress("19451 Via Monte Rd. CA95070"));
doEqOnlyFilter(kindName, "emailProp", new Email("[email protected]"));
doEqOnlyFilter(kindName, "linkProp", new Link("http://www.google.com.com"));
doEqOnlyFilter(kindName, "categoryProp", new Category("test"));
doEqOnlyFilter(kindName, "byteStrProp", new ShortBlob("shortText".getBytes()));
String[] inDat = {"abc", "xyz"};
doInFilter(kindName, "stringProp", inDat);
}
示例7: testShortBlobType
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Test
public void testShortBlobType() {
String propertyName = "byteStrProp";
List<Entity> elist = doQuery(kindName, propertyName, ShortBlob.class, true);
ShortBlob shortblob = (ShortBlob) elist.get(0).getProperty(propertyName);
ShortBlob sameDat = (ShortBlob) elist.get(0).getProperty(propertyName);
ShortBlob diffDat = (ShortBlob) elist.get(1).getProperty(propertyName);
assertTrue(shortblob.equals(sameDat));
assertFalse(shortblob.equals(diffDat));
Arrays.equals("shortblob".getBytes(), shortblob.getBytes());
assertEquals(0, shortblob.compareTo(sameDat));
assertTrue(shortblob.compareTo(diffDat) != 0);
assertEquals(shortblob.hashCode(), shortblob.hashCode());
}
示例8: createData
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Before
public void createData() throws InterruptedException {
clearData(kindName);
List<Entity> elist = new ArrayList<>();
for (int i = 0; i < count; i++) {
Entity newRec = new Entity(kindName, rootKey);
newRec.setProperty("stringData", "string data" + i);
newRec.setProperty("timestamp", new Date());
newRec.setProperty("shortBlobData", new ShortBlob(("shortBlobData" + i).getBytes()));
newRec.setProperty("intData", 20 * i);
newRec.setProperty("textData", new Text("textData" + i));
newRec.setProperty("floatData", 1234 + 0.1 * i);
newRec.setProperty("booleanData", true);
newRec.setProperty("urlData", new Link("http://www.google.com"));
newRec.setProperty("emailData", new Email("somebody123" + i + "@google.com"));
newRec.setProperty("phoneData", new PhoneNumber("408-123-000" + i));
newRec.setProperty("adressData", new PostalAddress("123 st. CA 12345" + i));
newRec.setProperty("ratingData", new Rating(10 * i));
newRec.setProperty("geoptData", new GeoPt((float) (i + 0.12), (float) (i + 0.98)));
newRec.setProperty("categoryData", new Category("category" + i));
newRec.setProperty("intList", Arrays.asList(i, 50 + i, 90 + i));
elist.add(newRec);
}
service.put(elist);
sync(1000);
}
示例9: testSetFilterShortBlob
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Test
public void testSetFilterShortBlob() {
Query query = new Query(kindName, rootKey);
Filter filter1 = Query.FilterOperator.EQUAL.of("shortBlobData", new ShortBlob("shortBlobData0".getBytes()));
Filter filter2 = Query.FilterOperator.LESS_THAN_OR_EQUAL.of("shortBlobData", new ShortBlob("shortBlobData1".getBytes()));
query.setFilter(Query.CompositeFilterOperator.or(filter1, filter2));
assertEquals(2, service.prepare(query).countEntities(fo));
}
示例10: createData
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Before
public void createData() throws InterruptedException {
List<Entity> eList = new ArrayList<Entity>();
for (int i = 0; i < namespaceDat.length; i++) {
NamespaceManager.set(namespaceDat[i]);
for (int k = 0; k < kindDat.length; k++) {
Query q = new Query(kindDat[k]);
if (service.prepare(q).countEntities(fo) == 0) {
for (int c = 0; c < count; c++) {
Entity newRec = new Entity(kindDat[k]);
newRec.setProperty("name", kindDat[k] + c);
newRec.setProperty("timestamp", new Date());
newRec.setProperty("shortBlobData", new ShortBlob("shortBlobData".getBytes()));
newRec.setProperty("intData", 12345);
newRec.setProperty("textData", new Text("textData"));
newRec.setProperty("floatData", new Double(12345.12345));
newRec.setProperty("booleanData", true);
newRec.setProperty("urlData", new Link("http://www.google.com"));
newRec.setProperty("emailData", new Email("[email protected]"));
newRec.setProperty("phoneData", new PhoneNumber("408-123-4567"));
newRec.setProperty("adressData", new PostalAddress("123 st. CA 12345"));
newRec.setProperty("ratingData", new Rating(55));
newRec.setProperty("geoptData", new GeoPt((float) 12.12, (float) 98.98));
newRec.setProperty("categoryData", new Category("abc"));
eList.add(newRec);
}
}
}
}
if (eList.size() > 0) {
service.put(eList);
sync(waitTime);
}
}
示例11: doGet
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("application/json");
UpdateRunLogger logger = new UpdateRunLogger();
JsonObject response = new JsonObject();
int limitElements = 10;
if (req.getParameter("limit")!=null) {
limitElements = Integer.parseInt(req.getParameter("limit"));
}
List<Entity> lastRunsEntities = logger.getMostRecentRuns(limitElements);
JsonArray lastRuns = new JsonArray();
for (Entity run: lastRunsEntities) {
JsonObject obj= new JsonObject();
JsonObject timings = new JsonObject();
TreeMap<String, Object> sortedMap = new TreeMap<String, Object>(run.getProperties());
for (Entry<String, Object> property: sortedMap.entrySet()) {
Object value = property.getValue();
String key = property.getKey();
if (key.startsWith("time_")) {
timings.add(key.substring("time_".length()), new JsonPrimitive((Number) value));
} else {
JsonPrimitive converted = null;
if (value instanceof ShortBlob) {
converted = new JsonPrimitive(bytesToHex(((ShortBlob) value).getBytes()));
} else if (value instanceof String) {
converted = new JsonPrimitive((String) value);
} else if (value instanceof Number) {
converted = new JsonPrimitive((Number) value);
} else if (value instanceof Boolean) {
converted = new JsonPrimitive((Boolean) value);
} else if (value instanceof Character) {
converted = new JsonPrimitive((Character) value);
} else if (value instanceof Date) {
converted = new JsonPrimitive(DateFormat.getDateTimeInstance().format((Date) value));
}
if (converted != null) {
obj.add(key, converted);
}
}
}
obj.add("timings", timings);
lastRuns.add(obj);
}
response.add("lastruns", lastRuns);
CloudFileManager cloudManager = new CloudFileManager();
response.add("bucket", new JsonPrimitive(cloudManager.getBucketName()));
response.add("productionManifest", new JsonPrimitive(cloudManager.getProductionManifestURL()));
response.add("stagingManifest", new JsonPrimitive(cloudManager.getStagingManifestURL()));
new GsonBuilder()
.setPrettyPrinting()
.disableHtmlEscaping()
.create().toJson(response, resp.getWriter());
}
示例12: doGet
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("application/json");
UpdateRunLogger logger = new UpdateRunLogger();
JsonObject response = new JsonObject();
int limitElements = 10;
if (req.getParameter("limit")!=null) {
limitElements = Integer.parseInt(req.getParameter("limit"));
}
List<Entity> lastRunsEntities = logger.getMostRecentRuns(limitElements);
JsonArray lastRuns = new JsonArray();
for (Entity run: lastRunsEntities) {
JsonObject obj= new JsonObject();
JsonObject timings = new JsonObject();
TreeMap<String, Object> sortedMap = new TreeMap<>(run.getProperties());
for (Entry<String, Object> property: sortedMap.entrySet()) {
Object value = property.getValue();
String key = property.getKey();
if (key.startsWith("time_")) {
timings.add(key.substring("time_".length()), new JsonPrimitive((Number) value));
} else {
JsonPrimitive converted = null;
if (value instanceof ShortBlob) {
converted = new JsonPrimitive(bytesToHex(((ShortBlob) value).getBytes()));
} else if (value instanceof String) {
converted = new JsonPrimitive((String) value);
} else if (value instanceof Number) {
converted = new JsonPrimitive((Number) value);
} else if (value instanceof Boolean) {
converted = new JsonPrimitive((Boolean) value);
} else if (value instanceof Character) {
converted = new JsonPrimitive((Character) value);
} else if (value instanceof Date) {
converted = new JsonPrimitive(DateFormat.getDateTimeInstance().format((Date) value));
}
if (converted != null) {
obj.add(key, converted);
}
}
}
obj.add("timings", timings);
lastRuns.add(obj);
}
response.add("lastruns", lastRuns);
CloudFileManager cloudManager = new CloudFileManager();
response.add("bucket", new JsonPrimitive(cloudManager.getBucketName()));
response.add("productionManifest", new JsonPrimitive(cloudManager.getProductionManifestURL()));
response.add("stagingManifest", new JsonPrimitive(cloudManager.getStagingManifestURL()));
new GsonBuilder()
.setPrettyPrinting()
.disableHtmlEscaping()
.create().toJson(response, resp.getWriter());
}
示例13: setUp
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Before
public void setUp() {
super.setUp();
values = asList(
asSet((Object) null),
asSet((short) -10, -10, -10L),
asSet((short) 10, 10, 10L, new Rating(10)),
asSet((short) 20, 20, 20L, new Rating(20)),
asSet(createDate(2013, 1, 1)),
asSet(createDate(2013, 5, 5)),
asSet(1381363199999999L), // 1 microsecond before 2013-10-10
asSet(new Date(1381363200000L), 1381363200000000L), // 2013-10-10
asSet(1381363200000001L), // 1 microsecond after 2013-10-10
asSet(false),
asSet(true),
asSet(
"sip sip",
new ShortBlob("sip sip".getBytes()),
new PostalAddress("sip sip"),
new PhoneNumber("sip sip"),
new Email("sip sip"),
new IMHandle(IMHandle.Scheme.sip, "sip"), // this is stored as "sip sip"
new Link("sip sip"),
new Category("sip sip"),
new BlobKey("sip sip")
),
asSet(
"xmpp xmpp",
new ShortBlob("xmpp xmpp".getBytes()),
new PostalAddress("xmpp xmpp"),
new PhoneNumber("xmpp xmpp"),
new Email("xmpp xmpp"),
new IMHandle(IMHandle.Scheme.xmpp, "xmpp"), // this is stored as "xmpp xmpp"
new Link("xmpp xmpp"),
new Category("xmpp xmpp"),
new BlobKey("xmpp xmpp")
),
asSet(-10f, -10d),
asSet(10f, 10d),
asSet(20f, 20d),
asSet(new GeoPt(10f, 10f)),
asSet(new GeoPt(20f, 20f)),
asSet(new User("aaa", "aaa"), new User("aaa", "otherAuthDomain")), // ordering must depend only on the email
asSet(new User("bbb", "bbb")),
asSet(KeyFactory.createKey("kind", "aaa")),
asSet(KeyFactory.createKey("kind", "bbb"))
);
entities = new ArrayList<Set<Entity>>();
for (Set<?> values2 : values) {
Set<Entity> entities2 = new HashSet<Entity>();
entities.add(entities2);
for (Object value : values2) {
entities2.add(storeTestEntityWithSingleProperty(value));
}
}
}
示例14: testShortBlobProperty
import com.google.appengine.api.datastore.ShortBlob; //导入依赖的package包/类
@Test
public void testShortBlobProperty() {
testEqualityQueries(new ShortBlob("foo".getBytes()), new ShortBlob("bar".getBytes()));
}